win7 qt opencv
番茄系统家园 · 2021-08-21 04:35:22

注意-j16选项可以根据自己的PC配置来更改如果数字太大PC就会太卡可以用-j4等。
如果编译过程中出现了错误如下
就需要修改C:\Qt\\\\\\文件去除-编译选项。
然后重新执行-make-j16
如果执行没有错误了就执行mingw32-makeinstall
如果没有错误产生就表示我们已经成功编译出了opencv库文件。
编译出来的文件在C:\Qt\opencvlib\install\x64\mingw目录注意此位置和个人配置有关。
然后需要在环境变量中添加我们编译出来的binlib环境变量。如下
至此已经配置好了opencv开发环境。
如果需要使用opencv还需要再QT工程文件xxxxx.pro中添加如下配置
INCLUwin7 qt opencvDEPATHC:/Qt/opencvlib/install/includeINCLUDEPATHC:/Qt/opencvlib/install/include/opencvINCLUDEPATHC:/Qt/opencvlib/install/include/opencv2LIBSC:/Qt/opencvlib/install/x64/mingw/lib/libopencv_*.a
注意上面几句需要放在.pro文件的末尾否则可能会导致一些问题。
4验证在QT中使用opencv
4.1创建一个QT工程
点击newproject
选择QtWidgetsApplication点解choose。
命名为test配置好工程保存路径后点击下一步
点击下一步
点击下一步
点击完成。
将测试的图像放置在C:\Qt\test目录下注意根据自己的喜好放置即可在下文的代码中采用的是图像的绝对地址
在test.pro文件中添加opencv的header和lib路径
双击Forms栏中的mainwindow.ui文件在displayWidgets栏中拖拽一个Label控件到ui界面中
Label控件重命名为showpicture
mainwindow.h文件的内容如下
#ifndefMAINWINDOW_H#defineMAINWINDOW_H#includeQMainWindow#includeopencv2/opencv.hppnamespaceUi{classMainWindow;}usingnamespacecv;classMainWindow:publicQMainWindow{Q_OBJECTpublic:explicitMainWindow(QWidget*parentnullptr);~MainWindow();intshowImage();MatsrcImg;private:Ui::MainWindow*ui;};#endif//MAINWINDOW_H
mainwindow.cpp内容如下
#includemainwindow.h#includeui_mainwindow.hMainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow){ui-setupUi(this);}intMainWindow::showImage(){Mattemp;QImageQimg;srcImgimread(C:/Qt/test/timg.jpgcvtColor(srcImg,temp,CV_BGR2RGB);//BGRconverttoRGBQimgQImage((constunsignedchar*)(temp.data),temp.cols,temp.rows,temp.step,QImage::Format_RGB888);ui-label-setPixmap(QPixmap::fromImage(Qimg));ui-label-resize(Qimg.size());ui-label-show();return0;}MainWindow::~MainWindow(){deleteui;}
main.cpp内容如下
#includemainwindow.h#includeQApplicationintmain(intargc,char*argv[]){QApplicationa(argc,argv);MainWindoww;w.show();w.showImage();returna.exec();}
点击运行
如果构建以及编译无误就会有下面的运行结果
至此已经完整配置了QT开发中opencv环境以及opencv验证。
免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/post/41900.html。
