OpenCV+contrib3.4.16环境配置笔记

每次换电脑配置的时候都要去搜博客太麻烦了,干脆自己从头到尾记录一遍。

【本地环境】
系统:Windows10
IDE:Visual Studio 2022


【OpenCV版本】
opencv 3.4.16
opencv contrib3.4.16


1.配置前准备


(1)安装VS

一般都是在VS里写代码,网上博客也都是基于VS的,为了配置的速度以及方便查找问题,建议安装VS。VS的版本不重要,可以直接下载最新的。


(2)安装Cmake

Cmake主要用于编译contirb的代码。


(3)安装OpenCV3

我下载的版本是3.4.16,去官网下载即可,有.exe安装包,下载完直接安装到本地。建议直接在D盘下新建一个opencv目录安装本体和拓展的环境。


(4)下载contrib源码

一定要和opencv版本一致。下载好之后解压到和opencv一起的目录。


2.编译opencv contrib

详情可以参考这一篇博客:https://blog.csdn.net/weijifen000/article/details/93377143

主要步骤如下:
(1)在你安装的opencv根目录下新建一个“new_build”文件夹,用于存放cmake编译输出。
(2)打开cmake,选择好opencv/sources源码目录,和编译输出目录,即上面的new_build文件夹。
(3)点击configure,弹出默认选择VS。下方显示configuration done。在generate之前要确保不报红,可以反复点configure,有可能会因为网络环境下载不到部分的包,报出的错误一定要去搜索解决,然后再到下一步。
(4)点击generate,等待完成。
(5)在new_build文件夹下,用VS打开OpenCV.sln解决方案。
(6)注意编译器设置的模式,我是DebugX64。
(7)右键项目生成解决方案。要等待一会。
(8)CMakeTargets->INSTALL 右键仅用于项目->仅生成INSTALL。
(9)编译完成后,输出的依赖都在下面的目录里。下面准备在项目里做配置。


3.开始配置

在VS里新建一个空C++项目,开始配置。配置中保存一个属性表,下次新建项目时直接导入就可以完成配置。

详细可以参考这篇博客:https://blog.csdn.net/ivan_9/article/details/114490508


3.1配置环境变量

在环境变量path里新建opencv和contrib的目录。我的如下:

下面的是contrib的目录。我在自己安装的opencv下新建了install目录存放编译输出。


3.2配置环境

打开属性窗口。

添加新项目属性表。把属性表保存到一个容易找的位置,以后新建opencv项目只要载入这个属性表就行。

打开属性页。

VC++->包含目录,添加include目录。这是我的:

D:\openCV\opencv\build\include
D:\openCV\opencv\build\include\opencv
D:\openCV\opencv\build\include\opencv2

上面是opencv的部分,下面是contirb的部分:

D:\openCV\opencv\install\install\include
D:\openCV\opencv\install\install\include\opencv
D:\openCV\opencv\install\install\include\opencv2

添加库目录。这是我的:

D:\openCV\opencv\build\x64\vc15\lib

contrib的部分:

D:\openCV\opencv\install\install\x64\vc17\lib

链接器->输出->附加依赖项。添加依赖项。

opencv的部分(带d后缀的是debug模式):

opencv_world3416d.lib

contrib的部分比较多,先进入到contirb依赖所在的目录。

因为要复制所有文件名,写一个批处理文件来完成。在该目录下新建一个list.txt,在里面写入:

DIR *.*  /B >LIST.TXT

修改后缀名,保存为list.bat文件。双击,脚本执行完在本地输出一个list.txt。打开后里面有所有依赖的文件名。

我的是这些:

opencv_aruco3416d.lib
opencv_bgsegm3416d.lib
opencv_bioinspired3416d.lib
opencv_calib3d3416d.lib
opencv_ccalib3416d.lib
opencv_core3416d.lib
opencv_datasets3416d.lib
opencv_dnn3416d.lib
opencv_dnn_objdetect3416d.lib
opencv_dpm3416d.lib
opencv_face3416d.lib
opencv_features2d3416d.lib
opencv_flann3416d.lib
opencv_fuzzy3416d.lib
opencv_hdf3416d.lib
opencv_hfs3416d.lib
opencv_highgui3416d.lib
opencv_imgcodecs3416d.lib
opencv_imgproc3416d.lib
opencv_img_hash3416d.lib
opencv_line_descriptor3416d.lib
opencv_ml3416d.lib
opencv_objdetect3416d.lib
opencv_optflow3416d.lib
opencv_phase_unwrapping3416d.lib
opencv_photo3416d.lib
opencv_plot3416d.lib
opencv_reg3416d.lib
opencv_rgbd3416d.lib
opencv_saliency3416d.lib
opencv_shape3416d.lib
opencv_stereo3416d.lib
opencv_stitching3416d.lib
opencv_structured_light3416d.lib
opencv_superres3416d.lib
opencv_surface_matching3416d.lib
opencv_text3416d.lib
opencv_tracking3416d.lib
opencv_video3416d.lib
opencv_videoio3416d.lib
opencv_videostab3416d.lib
opencv_xfeatures2d3416d.lib
opencv_ximgproc3416d.lib
opencv_xobjdetect3416d.lib
opencv_xphoto3416d.lib

4.测试环境

随便找一段代码测试一下。

5.保存属性表

下次新建其它openCV项目,添加现有属性表,选择这个即可。

posted @ 2022-03-31 21:43  MorpheusDong  阅读(1271)  评论(0编辑  收藏  举报