Windows上Qt配置OpenCV的詳細(xì)教程(避坑必看)
1 前言
博主為了在qt上配置OpenCV踩了很多坑,經(jīng)過(guò)一番努力,終于找到了最容易配置的方法,在這里總結(jié)出了一份經(jīng)驗(yàn),給有需要的人提供一點(diǎn)幫助。
2 軟件安裝
2.1 安裝qt
需要一個(gè)賬號(hào),注冊(cè)后方可下載

2.2 安裝OpenCV(vc版)
注意32位還是64位
選擇Windows下載,接著一路next即可,這里下載的是msvc編譯的版本

2.2.1 配置環(huán)境變量
OpenCV的使用需要配置環(huán)境變量,我將msvc版本配置了,可以按照自己安裝的路徑來(lái)配置
將bin文件夾放環(huán)境變量
msvc: C:\OpenCV_s\opencv_vc\opencv\build\bin C:\OpenCV_s\opencv_vc\opencv\build\x64\vc15\bin C:\OpenCV_s\opencv_vc\opencv\build\x64\vc15\lib mingw: C:\OpenCV_s\OpenCV-MinGW-Build-OpenCV-3.4.8-x64\x64\mingw\bin

3 Qt配置OpenCV
3.1 創(chuàng)建一個(gè)項(xiàng)目(注意選擇的是MinGW編譯器還是MSVC編譯器)
在pro文件中添加一些東西,根據(jù)自己選擇的編譯器,來(lái)添加,這里換成自己安裝的路徑
msvc:
INCLUDEPATH +=C:\OpenCV_s\opencv_vc\opencv\build\include\
C:\OpenCV_s\opencv_vc\opencv\build\include\opencv\
C:\OpenCV_s\opencv_vc\opencv\build\include\opencv2
LIBS +=C:\OpenCV_s\opencv_vc\opencv\build\x64\vc15\lib\opencv_world3414.lib
或 C:\OpenCV_s\opencv_vc\opencv\build\x64\vc15\lib\opencv_world3414d.lib
注意: opencv_world3414d.lib 為debug版,opencv_world3414.lib為release版
4 簡(jiǎn)單快捷添加OpenCV庫(kù)的方法
創(chuàng)建pri文件,將下方內(nèi)容寫(xiě)入,同樣設(shè)置為自己安裝的路徑,文件可以放在任何位置,但建議放在安裝OpenCV的路徑下,方便自己查找.
INCLUDEPATH += C:/OpenCV_s/opencv_vc/opencv/build/include
Debug: {
LIBS += -lC:/OpenCV_s/opencv_vc/opencv/build/x64/vc15/lib/opencv_world3414d
}
Release: {
LIBS += -lC:/OpenCV_s/opencv_vc/opencv/build/x64/vc15/lib/opencv_world3414
}
之后在項(xiàng)目pro文件中添加下面這一行即可,不需要再添加那么多行,我這里pri文件放在下面的路徑里,設(shè)置為自己放的路徑,添加后qtcreator會(huì)自動(dòng)添加到項(xiàng)目中:
include(C:\OpenCV_s\opencv.pri)
5 簡(jiǎn)單案例,測(cè)試是否安裝成功
本例子使用的MSVC編譯的OpenCV
5.1 創(chuàng)建一個(gè)控制臺(tái)窗口

5.2 注意選擇編譯器
我是自己設(shè)置的MSVC64位編譯器,一般來(lái)說(shuō)qt安裝時(shí)選了MSVC編譯器就可以使用,不需要自己再設(shè)置,所以直接選擇MSVC相應(yīng)的版本即可

5.3 添加pri文件路徑

main.cpp文件內(nèi)容:
#include <QCoreApplication>
#include "opencv2/opencv.hpp"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
using namespace cv;
Mat image=imread("C:/test/1.jpeg");//改成自己圖片的路徑,注意使用的是'/'
imshow("Output",image);
return a.exec();
}
5.4 運(yùn)行結(jié)果


5.5 注意事項(xiàng)
如果切換為MinGW編譯的版本,需要重啟qtcreator
到此這篇關(guān)于Windows上Qt配置OpenCV的詳細(xì)教程(避坑必看)的文章就介紹到這了,更多相關(guān)Windows Qt配置OpenCV內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言報(bào)錯(cuò)Use of Uninitialized Variable的原因及解決方案
Use of Uninitialized Variable是C語(yǔ)言中常見(jiàn)且危險(xiǎn)的錯(cuò)誤之一,它通常在程序試圖使用一個(gè)未初始化的變量時(shí)發(fā)生,本文將詳細(xì)介紹Use of Uninitialized Variable的產(chǎn)生原因,提供多種解決方案,并通過(guò)實(shí)例代碼演示如何有效避免和解決此類(lèi)錯(cuò)誤,需要的朋友可以參考下2024-06-06
C語(yǔ)言中結(jié)構(gòu)體偏移及結(jié)構(gòu)體成員變量訪(fǎng)問(wèn)方式的問(wèn)題討論
這篇文章主要介紹了C語(yǔ)言中結(jié)構(gòu)體偏移及結(jié)構(gòu)體成員變量訪(fǎng)問(wèn)方式的問(wèn)題討論,幫助大家理解struct的成員變量偏移,需要的朋友可以參考下2016-05-05
簡(jiǎn)單掌握Linux系統(tǒng)中fork()函數(shù)創(chuàng)建子進(jìn)程的用法
fork()函數(shù)只能在類(lèi)Unix系統(tǒng)下使用,因?yàn)樾枰雞nistd頭文件,這里我們就來(lái)簡(jiǎn)單掌握Linux系統(tǒng)中fork()函數(shù)創(chuàng)建子進(jìn)程的用法,需要的朋友可以參考下2016-06-06
C++使用string的大數(shù)加法運(yùn)算(1)
這篇文章主要為大家詳細(xì)介紹了C++使用string的大數(shù)加法運(yùn)算,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
C語(yǔ)言關(guān)鍵字auto與register的深入理解
本篇文章是對(duì)c語(yǔ)言關(guān)鍵字auto與register的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
Qt網(wǎng)絡(luò)編程實(shí)現(xiàn)TCP通信
這篇文章主要為大家詳細(xì)介紹了Qt網(wǎng)絡(luò)編程實(shí)現(xiàn)TCP通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
C++?實(shí)現(xiàn)讀寫(xiě)鎖的代碼詳解
C++讀寫(xiě)鎖是一種多線(xiàn)程同步機(jī)制,它允許多個(gè)線(xiàn)程同時(shí)讀取共享數(shù)據(jù),但只允許一個(gè)線(xiàn)程寫(xiě)入共享數(shù)據(jù),這種鎖可以提高程序的并發(fā)性和性能,本文給大家介紹了C++?實(shí)現(xiàn)讀寫(xiě)鎖的代碼,需要的朋友可以參考下2023-10-10

