Windows下opencv & opencv_contrib+visual studio步骤及踩过得坑

主要参考链接为对照链接1

下载

安装cmake,下载特定版本的 opencv和opencv_contrib,两者版本要一致。本文为4.5.0版本,cv15,在visual studio2017上部署,在x64平台,debug模式下。
注意下载opencv在官网上下载就可以了,但是opencv_contrib需要在github上下载,对应链接为git链接,选择版本时参考下图:
git版本选择

编译环节

在参考链接1中接下来的cmake编译阶段,存在问题,具体描述为以下几个:

1.确实存在IPPICV,FFMPEG下载不下来的情况

没有翻墙应该不好下(猜测),参考链接1中博主给的几个东西不好用,我下载后放进去再次configure又全为0kb了。但是这些都是警告,如果你后面不用到这些模块的话应该不会出大问题,笔者目前只知道FFMPEG涉及将视频分为一帧一帧的图片,这个东西在python里也可以实现,所以我没处理。只要出现
Configuring done
Generating done
应该是可以的。

2.编译阶段

参考这篇链接链接里的编译步骤,主要是为了某些选项需要勾选,便于库文件的链接简捷,只用opencv_world.lib导入就好了,要不然所有的lib文件都要在后面的visual studio链接输入中写一遍,而且我在写了之后,运行代码报好多个.lib文件找不到的错误,各种尝试都解决不了,还是只导入opencv_world.lib最好了。
Note:注意在configure时候选择好对应的visual-studio版本,和平台是x64,如果为empty默认是win32,一定要仔细。

BUILD_opencv_world   	            勾选
WITH_TBB				            勾选
WITH_OPENMP				            勾选
OPENCV_ENABLE_NONFREE               勾选
BUILD_EXAMPLES                      勾选
 
OPENCV_EXTRA_MODULES_PATH     
配置为:F:\opencv\opencv-4.2.0\opencv_contrib\modules(注意这路径是作者的路径)

3.后面生成工程转到visual-studio

这两篇链接里采用的生成策略都可以,本质都一样,就是ALL-BUILD和Include中都要生成一次,分别对应于opencv-build目录中的bin文件夹和include文件夹中的库文件的生成,这一步会出现很多问题,接下来我们细讲这部分问题,这些问题在这两个链接中都没讲。

库文件生成的问题

无法打开文件“python38_d.lib” 解决办法

这里出现的python文件名和你电脑上的python版本相对应,我的是python3.8,所以现在是这样,解决链接
Note:如果你不想卸载重新装的话也是可以的,可以在当时打开一开始安装python的安装程序,就是这个东西:
在这里插入图片描述
点开之后有个修改modify的选项,按照链接中的加入对应模块就会出现python38_d.lib,然后需要将python38_d.lib放在visual studio安装目录下就可以,我的这个位置是这样的,不知道为啥,好抽象,尝试了好多次才确定。
在这里插入图片描述

缺少boostdesc_bgm.i等文件,无法下载文件

参考链接及文件下载地址

找不到 feature2d/test/test_detectors_regression.impl.hpp 文件

参考链接
我就是直接把feature2d文件夹直接倒过去。。简单粗暴
注意是feature2d不是xfeature2d,我可真是醉了。。

大概就是这些问题,生成库文件,没错误后就可以新建个项目,然后照着链接中修改工程属性下的包含目录和库目录,以及链接器中输入opencv_world450d.lib即可,然后就可以愉快的开始c++编程啦!!

optflow生成flo文件转换为png图片

这个是我测试代码中要实现的一个小部分,可以不看。
flo转png

‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead" 解决方法

参考链接
项目----》 XX属性 ----》C++ —>预处理器 —》在预处理器定义添加“_CRT_SECURE_NO_WARNINGS”

含有Visual Studio的属性表配置,需要改下自己的路径即可使用 教程请参考 https://blog.csdn.net/yl_best/article/details/89190142 OpenCV3.4.2 + VS2013 + CMake3.12.1 with Contrib3.4.2 without hdf module without BUILD_opencv_world Release && Debug: many dll/lib General configuration for OpenCV 3.4.2 ===================================== Version control: unknown Extra modules: Location (extra): D:/software/OpenCV/SourceCode/opencv_contrib-3.4.2/modules Version control (extra): unknown Platform: Timestamp: 2019-04-9 Host: Windows 10.0.16299 AMD64 CMake: 3.12.1 CMake generator: VC12 Visual Studio 2013 CMake build tool: VC12 Visual Studio 2013 Configuration: Release && Debug OpenCV342_debug: opencv_aruco342d.lib opencv_bgsegm342d.lib opencv_bioinspired342d.lib opencv_calib3d342d.lib opencv_ccalib342d.lib opencv_core342d.lib opencv_datasets342d.lib opencv_dnn342d.lib opencv_dnn_objdetect342d.lib opencv_dpm342d.lib opencv_face342d.lib opencv_features2d342d.lib opencv_flann342d.lib opencv_fuzzy342d.lib opencv_hfs342d.lib opencv_highgui342d.lib opencv_imgcodecs342d.lib opencv_imgproc342d.lib opencv_img_hash342d.lib opencv_line_descriptor342d.lib opencv_ml342d.lib opencv_objdetect342d.lib opencv_optflow342d.lib opencv_phase_unwrapping342d.lib opencv_photo342d.lib opencv_plot342d.lib opencv_reg342d.lib opencv_rgbd342d.lib opencv_saliency342d.lib opencv_shape342d.lib opencv_stereo342d.lib opencv_stitching342d.lib opencv_structured_light342d.lib opencv_superres342d.lib opencv_surface_matching342d.lib opencv_text342d.lib opencv_tracking342d.lib opencv_video342d.lib opencv_videoio342d.lib opencv_videostab342d.lib opencv_xfeatures2d342d.lib opencv_ximgproc342d.lib opencv_xobjdetect342d.lib opencv_xphoto342d.lib OpenCV342_release: opencv_aruco342.lib opencv_bgsegm342.lib opencv_bioinspired342.lib opencv_calib3d342.lib opencv_ccalib342.lib opencv_core342.lib opencv_datasets342.lib opencv_dnn342.lib opencv_dnn_objdetect342.lib opencv_dpm342.lib opencv_face342.lib opencv_features2d342.lib opencv_flann342.lib opencv_fuzzy342.lib opencv_hfs342.lib opencv_highgui342.lib opencv_imgcodecs342.lib opencv_imgproc342.lib opencv_img_hash342.lib opencv_line_descriptor342.lib opencv_ml342.lib opencv_objdetect342.lib opencv_optflow342.lib opencv_phase_unwrapping342.lib opencv_photo342.lib opencv_plot342.lib opencv_reg342.lib opencv_rgbd342.lib opencv_saliency342.lib opencv_shape342.lib opencv_stereo342.lib opencv_stitching342.lib opencv_structured_light342.lib opencv_superres342.lib opencv_surface_matching342.lib opencv_text342.lib opencv_tracking342.lib opencv_video342.lib opencv_videoio342.lib opencv_videostab342.lib opencv_xfeatures2d342.lib opencv_ximgproc342.lib opencv_xobjdetect342.lib opencv_xphoto342.lib
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值