对于刚开始了解OpenCV或是用不到OpenCV_contrib库的情况,不建议自己编译OpenCV。交叉编译最大的问题就是无法正常下载需要的库。早些年玩OpenWRT编译一次需要几天,库下载速度绝对让你崩溃。对于OpenCV官网已经为我们准备好了安装包,直接下载使用就可以。网上绝大部分教程都是从自己编译开始,这样让初学者动手即崩溃。自己动手编译更重要的缺点是,你会按照教程放弃很多没法安装的功能。而官网释放出的安装包绝对比自己动手编译的完整。对于使用windows环境更是灾难。linux本身就天生适合交叉编译环境,而windows不适合。当然,对于使用vs或是需要OpenCV_contrib库的使用者,更好的解决方案是自己动手吧。
我的开发环境:
Windows10 + QT6 + CMake工程管理 + OpenCV4.6
开始配置:
一、QT安装这里不再描述,如果遇到安装数据慢的情况可以参考清华园代理安装。QT工程创建我是用的是CMake环境。QMake工程配置要比CMake简单不少,但道理是一样的,这里也不再描述。
二、OpenCV安装。下载OpenCV,官网地址:Home - OpenCV
我们进入官网的下载页面,选择我们需要的版本,我这里选择编译好的windows安装包。
我安装在D盘:
我们进入opencv目录:
我们进入build:
这个目录里是我们需要的库路径,我们需要添加进系统变量中。
下面是我添加的信息:
配置好后,我们重启系统,以使配置的系统变量开始工作。到这里opencv的配置就全部做好了。剩下的就是在QT开发中填写基本连接信息。
到此就全部配置完了。我们不需要再做其他工作。D:\Program Files\opencv\build下的OpenCVConfig.cmake替我们做了更多的工作。在上图中FIND_PACKAGE(OpenCV REQUIRED)和include_directories(${OpenCV_INCLUDE_DIRS})使用的变量都是OpenCVConfig.cmake给我们导出的。
下面是QT识别到的信息:
下面是我测试的结果: