当前位置:网站首页>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里的,然后找到相关的类,点进去第一个就是枚举的宏定义:


边栏推荐
猜你喜欢

Basic IO (below): soft and hard links and dynamic and static libraries

【LeetCode】Sum

MPU6050 accelerometer and gyroscope sensor is connected with the Arduino

Hash table problem solving method

TeamCode 产品 UI 全新升级,快来体验吧

windows系统下php-ffmpeg类库的使用

OpenSSF安全计划:SBOM将驱动软件供应链安全

进程(番外):自定义shell命令行解释器

Process (in): process state, process address space

剑指Offer 16.数值的整数次方 快速幂+ 递归
随机推荐
Pylon CLI 低成本的本地环境管控工具应用实例
学习(二):单例模板
剑指Offer 32.Ⅰ从上到下打印二叉树
跨域问题解决办法
剑指Offer 36.二叉搜索树与双向链表 中序遍历
工作过程中问题汇总
3个最佳实践助力企业改善供应链安全
【LeetCode】Sum
[Database] Four characteristics of transaction
【网络基础】浏览器输入一个URL之后,都发生了什么(详细讲解)
【详解】优先级队列的底层实现
Basic IO (below): soft and hard links and dynamic and static libraries
unity相关的功能链接
webdriver封装
flv文件结构解析
SLSA 框架与软件供应链安全防护
音视频文件的码率与大小计算
openssl-1.1.1g 交叉编译注意事项
全排列 DFS
哈希表解题方法