QT&OpenCV

Qt Creator2.0.1 + OpenCV-2.3.1-win-superpack + win7 64

最近在做视频聊天室,两天了才把环境配置好,特记下此过程以备忘;

我的需求很简单,只要我能捕捉下摄像头的一帧,并转化成qt的图片格式就行了,

我决定选择使用OpenCV库,了解OpenCV库,并实现我的需求,没花我多少时间。

只是,就如我当初搭建Ogre3D环境一样,遇到了些许挫折,

1.我下载了OpenCV最新版的源码,安装到D:\1G多,吓了我一跳,

  里面乱七八遭的目录一大推,与网上存在的教程上大不一样。

  发现\build\x64\mingw里已有编译好的dlllib文件,直接拿来用,结果此路不通。

2.只能自己重新编译OpenCV库了,用CMake,设置好OpenCV库的安装路径
  和将要生成的文件存放目录,点击Configure,弹出一个出错对话框,
  原因是找不到minGW的安装目录,于是将qtminGWbin路径加到环境变量中。

3. CMake完后,将其中的binlib目录复制到D:\SDK\OpenCV中,其它的删掉。

   将D:\opencv\build\include中的opencv2文件夹备份一份到D:\SDK\OpenCV中,

   其它的没用删掉,还要将此目录再复制一份到我的qt项目中,原因很简单,

   因为用INCLUDEPATH += 配制目录后,qt竟搜索到不到项下的子目录,

   编译时qt给我整出一大排红色警报,说是头文件找不到,可郁闷了!

   我不用#include"cv.h",而是直接#include "opencv.hpp",所以只需要opencv2文件夹即可。

4. 配置好头文件接下来该是配置lib连接库,要不然qt就报错未定义这个未定义那个了。
   有个偷懒的方法,就是右键项目名,选择add existing files再把要添加的库文件全选上

   完后打开.pro文件,路径全帮你输入完了,再把OTHER_FILES += \改成LIBS += \即可。

5. 然后就是设置bin目录了,我在环境变量中添加;D:\SDK\OpenCV\bin了。
   一切都正常,只是结果有点莫名其妙 

图片

 能通过qt编译,程序运行也正常,可就是在qt creator中不弹出来。

问过别人才知道,那确实属不正常,我把代码查了一遍又一遍,在网上搜了一次又一次,

未果。胡乱尝试各种方法,一次意外,我把bin目录里的dll文件拖到debug文件夹中,

把问题给解决了,我不是在环境变量中把bin目录的路径添加上去了吗?

怎么还找不到呢?这类问题真是很无语,不想纠缠,直接DESTDIR += D:/SDK/OpenCV/bin

问题解决了,不复制dll文件到debug了,末了附上.pro配置

INCLUDEPATH += opencv2

DESTDIR += D:/SDK/OpenCV/bin

LIBS += \

    D:/SDK/OpenCV/lib/libopencv_video231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_objdetect231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_ml231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_legacy231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_imgproc231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_highgui231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_gpu231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_flann231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_features2d231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_core231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_contrib231.dll.a \

    D:/SDK/OpenCV/lib/libopencv_calib3d231.dll.a

还有记得,在构造函数cvCaptureFromCAM(0);

记得在析构函数中cvReleaseCapture(&m_capture);

否则进程中会有多出很多个程序。

Cannot retrieve debugging output!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Qt中安装OpenCV,你可以按照以下步骤进行操作: 1. 首先,从OpenCV官方网站下载适用于Windows的OpenCV版本,并解压缩文件。 2. 确保你已经安装了CMake,并将其添加到系统的环境变量中。 3. 在Qt项目中,创建一个新的文件夹用于存放你的OpenCV库文件。 4. 打开CMake并选择你刚刚创建的文件夹作为"source code"。 5. 在"CMake options"中添加以下参数: -D CMAKE_BUILD_TYPE=Release (用于生成发布版本) -D CMAKE_INSTALL_PREFIX=path_to_opencv_folder (将OpenCV库安装到指定路径) 6. 点击"Configure"按钮,然后选择你的Qt版本(例如Qt5)。 7. 等待CMake完成配置过程。这可能需要一些时间,请耐心等待。 8. 配置完成后,点击"Generate"按钮,将生成一个适用于你的项目的解决方案文件。 9. 使用Qt的构建工具(如MinGW)打开解决方案文件,并构建项目。 10. 编译完成后,将OpenCV编译好的库文件路径添加到系统的环境变量中。 现在,你已经成功在Qt中安装了OpenCV。你可以使用OpenCV的函数和类来处理图像和视频等多媒体任务。记得在代码中包含OpenCV头文件,并链接OpenCV库文件。 (https://download.csdn.net/download/weixin_48465965/21476090) (https://blog.csdn.net/weixin_48465965/article/details/106755497) (https://doc.qt.io/qt-5/cmake-manual.html) (https://docs.opencv.org/4.5.1/index.html)<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【QT&OpenCV】第一讲:QTOpenCV的环境搭建(QT+OpenCV+windows10-x64+MinGW-64)](https://blog.csdn.net/weixin_48465965/article/details/119868897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值