当前位置:网站首页>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里的,然后找到相关的类,点进去第一个就是枚举的宏定义:
边栏推荐
猜你喜欢
随机推荐
flask简单接口实现
双网络安全nvr/布控球,可双向同时接入国网B接口视频监控平台和国标28181平台
最长公共子串
AD Actual Combat
基础IO(下):软硬链接和动静态库
JPA自定义SQL Column ××× not found.
机械臂运动学解析
怎样写测试用例?
滑动窗口方法
Lightly:新一代的C语言IDE
进程(中):进程状态、进程地址空间
企业需要知道的5个 IAM 最佳实践
初识云原生安全:云时代的最佳保障
【数据库】事务的四大特性<详解>
change file extension
Basic IO (below): soft and hard links and dynamic and static libraries
3个最佳实践助力企业改善供应链安全
网络安全nvr,用于对接电网B接口(国网B接口)视频监控系统B接口
unity学习(一):自动化创建模板脚本
Mongoose无法更新时间戳