关于在windows下利用QT进行opencv跨平台视频开发

博主分享了在Linux和Windows环境下配置Qt与OpenCV遇到的挑战与解决方案,包括使用不同版本的库、CMake配置及环境变量设置等问题。通过参考相关博客和社区资源,最终成功解决了配置难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感觉好几天没有写blog了

之前做好了zedboard嵌入式系统移植,opencv函数库的zedboard移植,opencv程序的交叉编译以及opencv视频处理程序的初步编写

接下来在开发板上进行视频处理时,发现系统无法识别视频文件,刚开始以为是没有视频编码库的问题,于是前几天做好了ffmpeg、png、zlib等库的移植工作

发现还是无法识别视频文件

为了找一下原因,顺便给自己换个思路,决定开始移植qt。

在linux下qt的移植相当轻松加愉快,参考上一篇blog以及rainsky和懒兔子两位大神的blog,虽然有一些小问题,但是还是比较顺利

真正费时间多的是windows下qt开发opencv

现在网上流传的blog大多数都比较旧,有的qt版本甚至还是nokia时代,opencv是2.0左右

网上流传的说法也很多

有的说要用cmake编译一下,有的说opencv2.4.x之后的版本里面自带编译好的库文件

再加上qt的mingw和msvc两种不同的编译器,甚至还有好多vs+qt+opencv的教程

由于小弟资质鲁钝,一时间消化不了这么大信息量,配置过程可谓是千辛万苦

基本上把目前网上qt配置opencv出现过的问题都经历了一遍

在此期间也有很多人的博客给我提供了很大帮助,尤其是http://blog.youkuaiyun.com/superdont/article/details/26007717的博主,无私的帮助了我很多,非常感谢


言归正传,由于自己也不是很懂,虽然配置成功了,但是只是知其然不知其所以然,下面把自己的经历给大家分享一下吧

1、刚开始的时候自然是不太想去cmake函数库,因为很久以前尝试过,知道比较麻烦,所以就想先用一下预先编译好的函数库。

2、用预先编译好的函数库时,发现比较新的opencv版本只有vc10、vc11甚至vc12的版本,没有mingw,而我所用的qt版本编译器是mingw,所以不能用

3、然后尝试比较低版本的opencv,比如2.4.3,这个版本的opencv是带有预先编译好的mingw库文件的,但是这样的话qt只能支持opencv1.x的语法,比如说IplImage,当使用opencv2.x的语法时,会提示找不到。关于这个问题linux社区里面有一篇文章说要换一下mingw编译器的版本,我试了一下,效果不是很好,没有搞定。后来我还尝试去手动编译opencv,但是cmake一直会报错,我尝试了很多版本的cmake和opencv,很不幸,没有一个能对的上的。

4、后来又参考“opencv+qt5.1完美配置”这篇blog,重装了qt的msvc版本,用了最新的opencv2.4.9,发现还是不行。最离谱的是由于msvc编译过程中实际上是调用vc里面的编译器,而我之前在尝试第三步的时候不知道在什么时候修改了环境变量里面ComSpec的值,导致编译过程中qt总是会提示无法打开mingw编译器,重装也不行。为了解决这个问题花了我将近一天的时间,最后终于找到罪魁祸首。但是改过来还是不行,又提示说找不到各种函数库,一气之下我甚至重装了vs2010.。。。最后结果依然悲剧

5、接下来是重点:

参考http://blog.youkuaiyun.com/qiurisuixiang/article/details/8665278这篇blog,重头开始配置,所有软件版本都和博主的相同,终于配置成功。具体过程里面已经说得很详细了,说一些博主没说到的或者忽略掉的吧。

qt版本:qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe

opencv版本:opencv2.4.4

cmake版本:博主是2.8.10.2     我用的是2.8.12.2,亲测可用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值