吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于QT搭建OpenCV開發環境

OpenCV學堂 ? 來源:OpenCV學堂 ? 作者:OpenCV學堂 ? 2022-10-08 09:39 ? 次閱讀

QT在Windows上安裝好之后,常規會兩種編譯器選擇分別是:

-VS2015/2017/2019....
-mingw

因為我安裝了VS2015,所以一直是默認VS來編譯,但是發現當從VS編譯切換到mingw時候,OpenCV的windows版本就無法正確的使用了。這個時候要求首先通過mingw來編譯OpenCV的源碼,重新生成OpenCV庫文件與dll文件。本文就詳細記錄了這個過程。而且最后通過編譯好的OpenCV集成配置QT開發環境,實現了一個簡單的測試程序。

軟件版本與環境配置

版本信息

Windows10 64位
QT5.13 64位
OpenCV4.2
CMake3.17.1

下載地址:

https://opencv.org/opencv-4-2-0/ 
https://cmake.org/

環境配置

在安裝好QT,CMake與OpenCV下載解壓縮之后,首先到QT的目錄下,找到mingw編譯工具的bin目錄,添加到系統環境變量中去,本人安裝好的QT中mingw工具的bin目錄路徑如下:

D:QtQt5.13.1Toolsmingw730_64bin

編譯OpenCV源碼

b28b405e-4652-11ed-96c9-dac502259ad0.png ? ?

編譯OpenCV源碼主要分為如下幾步:

01

cmake配置與生成

雙擊打開安裝好的cmake

b2a6bc08-4652-11ed-96c9-dac502259ad0.png

選擇好souce路徑與build路徑,本人的分別為:

D:/opencv-4.2.0/opencv/sources
D:/opencv-4.2.0/opencv/newbuild

然后點擊 【configure】,就會彈出如下對話框,請選擇mingw makefiles

b2e328c8-4652-11ed-96c9-dac502259ad0.png

然后分別設置

b2fa0840-4652-11ed-96c9-dac502259ad0.png

C編譯器D:QtQt5.13.1Toolsmingw730_64bingcc.exe 
C++編譯器D:QtQt5.13.1Toolsmingw730_64bing++.exe

運行完成之后,參見如下選項進行配置

- 勾選 WITH_OPENGL
- 勾選 WITH_OPENMP
- 勾選 BUILD_opencv_world
- 不勾選 WITH_OPENCL_D3D11_NV

然后再點擊【generate】按鈕,執行完成即可。

注意

這個過程中你最有可能遇到的錯誤就是無法下載ffmpeg庫的問題,解決方法也很容易,讓可以下載的人給你下載,然后直接copy到你的opencvsources3rdpartyffmpeg目錄下即可。然后再次點擊【generate】按鈕即可。

02

生成安裝文件

cmake完成之后,打開cmd,切換到build目錄下,首先執行如下的命令行參數

mingw32-make -j 8

b30d87b2-4652-11ed-96c9-dac502259ad0.png

回車之后,就看到如下開始執行了,畫面如下:

b3237842-4652-11ed-96c9-dac502259ad0.png

大概5~10min左右(取決電腦速度)如果沒有報錯,就會到達100%完成。然后執行下一個命令行參數

mingw32-make install

大概在幾十秒即可很快執行完成,執行完成之后你就會在這個目錄得到編譯好的庫與dll文件。

D:opencv-4.2.0opencvnewbuildinstall

很直接的把生成的dll所在路徑添加到環境變量中,這里為:

D:opencv-4.2.0opencvnewbuildinstallx64mingwbin

使用OpenCV+QT實現圖像顯示

b28b405e-4652-11ed-96c9-dac502259ad0.png ? ?

通過一個簡單的OpenCV讀取圖像,在QT中QLabe顯示來驗證上述編譯好的庫可以使用。直接通過QT Creator來新建一個QT Application程序,導入OpenCV庫依賴(不知道怎么操作,請看結尾的鏈接,通過視頻學習即可!),然后在mainwindow.cpp中實現如下代碼:

#include"mainwindow.h"
#include"ui_mainwindow.h"
#include"opencv2/opencv.hpp"
#include"QHBoxLayout"
#include"QLabel"

MainWindow::MainWindow(QWidget*parent)
:QMainWindow(parent)
,ui(newUi::MainWindow)
{
ui->setupUi(this);
QHBoxLayout*layout=newQHBoxLayout(ui->centralwidget);
QLabel*label=newQLabel();
layout->addWidget(label);
cv::Matmat=cv::imread("D:/images/pedestrain_01.jpeg");
cv::cvtColor(mat,mat,cv::COLOR_BGR2RGB);
QImageimg=QImage(mat.data,mat.cols,mat.rows,mat.step,QImage::Format_RGB888);
intw=img.width();
inth=img.height();
if(w>800||h>800){
doublerate=800.0/std::max(w,h);
intnw=static_cast(rate*w);
intnh=static_cast(rate*h);
img=img.scaled(QSize(nw,nh),Qt::KeepAspectRatio);
}
QPixmapmp;
mp=mp.fromImage(img);
label->setPixmap(mp);
label->setAlignment(Qt::AlignCenter);
mat.release();
}

MainWindow::~MainWindow()
{
deleteui;
}

記得創建項目的選擇編譯器為mingw啊,然后選擇構建為release。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • WINDOWS
    +關注

    關注

    4

    文章

    3570

    瀏覽量

    89307
  • 編譯器
    +關注

    關注

    1

    文章

    1642

    瀏覽量

    49286
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41556

原文標題:使用MinGW編譯OpenCV4源碼與配置使用演示

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux系統中搭建Qt Creator開發環境

    Linux開發板中配置Qt運行環境一文中介紹了如何將Qt移植到Linux開發板上,接下來就需要編寫Qt
    發表于 11-29 14:06 ?2692次閱讀

    【龍芯2K0300蜂鳥板試用】5 搭建opencv開發環境

    buildroot上需要打開opencv,將其編譯進系統中,如下所示 測試可行性 測試是否編譯成功,通過獲取usb攝像頭的視頻來完成,本來是想通過qt的multimedia來實現,無奈k20300平臺
    發表于 08-27 15:08

    請問TI提供的有可在宿主機中完整部署的OpenCVQT交叉編譯開發環境沒?

    ,仔細一看還想opencv居然依賴Qt5的相關庫文件。這我就不太明白了,難道opencv中的highgui模塊使用的是Qt'作為顯示的界面編譯開發
    發表于 06-21 07:54

    求源碼方式搭建Qt開發環境的方法?

    請問源碼方式搭建Qt開發環境的方法是什么?
    發表于 11-05 06:59

    迅為i.MX6ULL開發板-移植OpenCv2.4.9-搭建OpenCv編譯環境

    終結者-開發板使用手冊 4.3 章節 搭建交叉編譯環境。85.2 搭建 OpenCv 編譯環境
    發表于 04-29 14:48

    迅為i.MX6ULL開發板-移植OpenCv2.4.9-QT程序編譯

    目錄的上兩級目錄。2.搭建完成后。在 Ubuntu 終端執行下面的指令來使能 Qt 交叉編譯的環境變量。Ubuntu# source /opt/fsl-imx-x11/4.1.15-2.1.0
    發表于 05-06 14:19

    迅為-i.MX6ULL 開發板-移植OpenCv3.4.1-搭建編譯環境

    -開發板使用手冊 4.3 章節 搭建交叉編譯環境。86.2 搭建 OpenCV 的編譯環境1.在
    發表于 08-09 10:54

    如何搭建qt開發環境

    剛收到1043的板子,然后現在需要用到qt進行程序開發,用的是你們的虛擬機ubuntu18,qt版本是5.6,請問一下如何搭建qt
    發表于 01-06 07:41

    如何搭建Qt for MCUs PC端開發環境

    如何搭建Qt for MCUs PC端開發環境
    發表于 02-10 07:48

    如何搭建RK3399 ARM QT開發環境

    如何搭建RK3399 ARM QT開發環境
    發表于 03-07 06:24

    如何搭建RK3399 ARM QT開發環境

    如何搭建RK3399 ARM QT開發環境
    發表于 03-07 06:26

    OpenCV開發環境的配置

    OpenCV3編程入門》書本配套源代碼:OpenCV開發環境的配置
    發表于 06-06 15:20 ?8次下載

    英創信息技術Qt開發環境搭建介紹

    的Linux系統中搭建Qt應用程序的開發環境。這里采用的Linux系統為Ubuntu12.04,交叉工具鏈為arm-none-linux-gnueabi(版本號為4.4.1),
    的頭像 發表于 01-17 09:12 ?1624次閱讀
    英創信息技術<b class='flag-5'>Qt</b><b class='flag-5'>開發</b><b class='flag-5'>環境</b>的<b class='flag-5'>搭建</b>介紹

    Qt5環境下如何配置OpenCV

    本文檔的主要內容詳細介紹的是Qt5環境下如何配置OpenCV
    發表于 11-22 16:53 ?17次下載
    <b class='flag-5'>Qt</b>5<b class='flag-5'>環境</b>下如何配置<b class='flag-5'>OpenCV</b>

    QT5+OpenCV4搭建應用開發環境

    作為深度學習算法工程師,必須要掌握應用開發技能嗎?搞工程肯定是必須要會界面開發QT就是一個很不錯的選擇。本文以QT5.15 + OpenCV
    的頭像 發表于 07-23 11:23 ?1170次閱讀
    <b class='flag-5'>QT5+OpenCV</b>4<b class='flag-5'>搭建</b>應用<b class='flag-5'>開發</b><b class='flag-5'>環境</b>
    顶级赌场官方| 百家乐官网马宝| 百家乐有不有作弊| 新时代娱乐城开户| 百家乐官网路子| 威尼斯人娱乐城优惠活动| 澳门百家乐官网看路博客| 职业百家乐的玩法技巧和规则| 大赢家百家乐官网66| 百家乐对子的玩法| 百家乐官网是如何骗人的| 哪个百家乐平台信誉好| 网上百家乐官网投注法| 打百家乐庄闲的技巧| 百家乐官网单跳双跳| 广州百家乐赌博机| 文水县| 网络百家乐棋牌| 金沙百家乐官网现金网| 百家乐赌博技巧网| 百家乐官网系统足球博彩通| 菲彩百家乐的玩法技巧和规则 | 玩百家乐输了| 威尼斯人娱乐客户端| 网上百家乐官网大转轮| 大发888娱乐城出纳柜台| 博威娱乐在线| 赌场百家乐破解| 百家乐官网揽子打法| 大发888真人真钱| 太阳神百家乐官网的玩法技巧和规则| 大连娱网棋牌下载| 百家乐视频游戏双扣| 百家乐官网游戏合法吗| 破解百家乐真人游戏| 金域百家乐官网娱乐城| 棋牌室转让| 百家乐游戏平台有哪些哪家的口碑最好| 百家乐官网登封代理| 威尼斯人娱乐场28gxpjwnsr| 博E百百家乐官网的玩法技巧和规则|