当前位置:网站首页>QT中更换OPENCV版本(3->4),以及一些宏定义的改变
QT中更换OPENCV版本(3->4),以及一些宏定义的改变
2022-08-02 03:35:00 【MAUM】
1、换版本
之前使用的是3.4.3,由于需要用到DNN的一些东西,更换版本为4.5.3。想着不就是编译一下opencv,是然后改一下.pro的include和Lib的路径嘛。谁知道折腾了几天,今天终于搞定了,虽然DNN的问题没解决,至少是体验了一把换opencv的版本,网上不好查到相关资料,我就写一下,本人对linux系统的机制不太熟悉,但是下面的都是亲测好用的经验。
3.4.3的opencv安装在了常见的/usr/local下面,新安装的opencv4.5.3安装在/usr/local/opencv4.5.3下面。
首先说一下,Opencv4.5.3的编译过程无比顺利,终于不用改源码了!!比opencv3.4.3省事儿。
在配置cmake的时候,使用的配置在我之前的文章中有,需要的可以直接复制获取并更改,在第5节的最下面。
空卡安装设置树莓派4B并安装opencv+QT_MAUM的博客-CSDN博客
安装后可以即可。虽然我在这配置中打开了PKG_CONFIG的选项,但是并没有生成pkgconfig文件夹,不知道为什么,但是不影响。
然后需要添加库的路径:
sudo nano /etc/ld.so.conf
把库的lib路径加进去 :/usr/local/opencv4.5.3/lib
然后执行:
sudo ldconfig
在QT工程的.pro文件中还需要将include和lib的路径更改为最新的路径。
但是有一点很细微的东西!!!
/usr/local/include文件中有opencv和opencv2的头文件,如果.pro的include中还有这个路径,那依然回报错,因为编译器先找的是这个路径,然后就会提示一大堆undefined的symbol。如果你不需要/usr/local中安装的库还好,要是需要的话,这个问题是无法避免的,因此,需要将这个路径下的opencv 和 opencv2文件夹的名字改一下,让编译器找不到老版本的头文件,自然就会接着往下找你的/usr/local/opencv4.5.3/include下的头文件。另外,.pro文件中的include应该包含/usr/local/opencv4.5.3/include/opencv4以及/usr/local/opencv4.5.3/include (至少我这样是对的)。
2、宏定义的改变
相机参数读取的宏定义:
CV_CAP_PROB_XXX等这些都改为:CAP_PROB_XXX
颜色变换的CV_BGR2RGB等都改为:COLOR_BGR2RGB
其他的变化可以自行在官网上查找。先确定这个宏是哪个module里的,然后找到相关的类,点进去第一个就是枚举的宏定义:


边栏推荐
猜你喜欢
随机推荐
【MQ-3 Alcohol Detector and Arduino Detect Alcohol】
Altium Designer基础知识
vector的使用和模拟实现:
微服务入门
Comparison between Boda Industrial Cloud and Alibaba Cloud
The use and simulation of vector implementation:
如何搭建私有云盘?
逆序对数量与归并排序
UKlog.dat和QQ,微信文件的转移
【TCS3200 color sensor and Arduino realize color recognition】
【面试必看】链表的常见笔试题
Flame sensor connected with Arduino
全排列 DFS
剑指Offer 64.求1+2+...+n 递归+&&
剑指Offer 32.Ⅱ从上到下打印二叉树
【详解】线程池及其自定义线程池的实现
Process (in): process state, process address space
KMP 字符串匹配
腾讯云+keepalived搭建云服务器主备实践
进程(中):进程状态、进程地址空间









