当前位置:网站首页>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里的,然后找到相关的类,点进去第一个就是枚举的宏定义:
边栏推荐
- 408-Binary tree-preorder inorder postorder level traversal
- jmeter之数据库连接JDBC安装与使用
- 剑指Offer 16.数值的整数次方 快速幂+ 递归
- Lightly:新一代的C语言IDE
- 【网络基础】浏览器输入一个URL之后,都发生了什么(详细讲解)
- PHP实现阿里云HMAC-SHA1签名方法封装
- Nest.js框架项目初始化实践
- 如何搭建私有云盘?
- The slave I/O thread stops because master and slave have equal MySQL server ids
- Flame sensor connected with Arduino
猜你喜欢
随机推荐
AD实战篇
JS事件循环机制
【网络基础】浏览器输入一个URL之后,都发生了什么(详细讲解)
h264转flv
Mysql数据库入门 (基础知识点 由来 各种指令 如何运用)
对周期内时间段是否重叠进行校验
想低成本保障软件安全?5大安全任务值得考虑
Kinematics Analysis of Robot Arm
电脑基本知识
基础IO(上):文件管理和描述符
音视频文件码率与大小计算
MPU6050 accelerometer and gyroscope sensor is connected with the Arduino
Comparison between Boda Industrial Cloud and Alibaba Cloud
字符串哈希
change file extension
最长公共子串
进程(下):进程控制、终止、等待、替换
剑指Offer 47.礼物的最大值 动态规划
Plus版SBOM:流水线物料清单PBOM
网络 7 层架构