Windows10+VS2017+Cmake3.20.0+opencv4.5.1+opencv_contrib配置

Windows10+VS2017+Cmake3.20.0+OpenCV4.5.1+opencv_contrib配置

下载与安装

1.Cmake安装:在此我安装的是3.20.0
2.opencv4.5.1,下载压缩好的源代码
3.opencv_contrib,下载压缩好的源代码
注意opencv与opencv_contrib的版本一致,都是4.5.1,并将这两个源代码文件共同解压在一个文件夹下,这里我命名为opencv4.5,再新建一个文件夹build,用于存储cmake编译好的文件,如下图:

Cmake编译opencv源码

①打开cmake
source code填写opencv4.5.1的绝对路径;
where to build the binaries填写build的路径。
configure一下,会出现红色。
在这里插入图片描述
②勾选
BUILD_opencv_world
OPENCV_ENABLE_NONFREE:我勾选这个是为了使用opencv中的kinectfusion模块,如果要使用kinectfusion,必须勾选这一项,大家可做参考。
OPENCV_EXTRA_MODULES_PATHD:填写opencv_contrib中的modules的路径,如:D:/opencv4.5/opencv_contrib-4.5.1/modules

③查看CMakeDownloadLog文件

打开build文件夹中的CMakeDownloadLog.txt
如果出现以https开头的网页链接,说明有部分文件没有下载成功如果没有出现,就说明下载成功。我看有些帖子说搭外网可以解决,但是我搭外网还是没成功,得自己一个个下载。
以一个为例:

#use_cache "D:/opencv4.5/opencv-4.5.1/.cache"
#do_copy "opencv_ffmpeg.dll" "5e68a3ff82f43ac6524e50e448a34c9c" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/2a96257b743695a47f8012aab1ffb995a1dee8b4/ffmpeg/opencv_ffmpeg.dll" "D:/opencv4.5/build/3rdparty/ffmpeg"

这两句的意思是说将 opencv_ffmpeg.dll(它的md5签名是 5e……9c,下载地址是 "https:/……dll"这个链接 )从 “D:/opencv4.5/opencv-4.5.1/.cache” 拷贝到 "D:/opencv4.5/build/3rdparty/ffmpeg"目录下。

#missing "D:/opencv4.5/build/3rdparty/ffmpeg/opencv_ffmpeg.dll"

但是没有这个文件

#check_md5 "D:/opencv4.5/opencv-4.5.1/.cache/ffmpeg/5e68a3ff82f43ac6524e50e448a34c9c-opencv_ffmpeg.dll"
#mismatch_md5 "D:/opencv4.5/opencv-4.5.1/.cache/ffmpeg/5e68a3ff82f43ac6524e50e448a34c9c-opencv_ffmpeg.dll" "d41d8cd98f00b204e9800998ecf8427e"
#delete "D:/opencv4.5/opencv-4.5.1/.cache/ffmpeg/5e68a3ff82f43ac6524e50e448a34c9c-opencv_ffmpeg.dll"
#cmake_download "D:/opencv4.5/opencv-4.5.1/.cache/ffmpeg/5e68a3ff82f43ac6524e50e448a34c9c-opencv_ffmpeg.dll" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/2a96257b743695a47f8012aab1ffb995a1dee8b4/ffmpeg/opencv_ffmpeg.dll"

下载此文件到opencv4.5.1中的 /.cache/ffmpeg/,并命名为"md5-文件名"

#try 1
# timeout on name lookup is not supported
# getaddrinfo(3) failed for raw.githubusercontent.com:443
# Couldn't resolve host 'raw.githubusercontent.com'
# Closing connection 0

连接到服务器失败

所以我们只要把所有缺失文件下下来,放到/opencv4.5/opencv4.5.1/.cache/即可.

小贴士:
.cmake 和 .i 等文件的网页链接打开后,直接就显示了内容,我们需要将网页另存为文件,然后把后缀名改一下就好了。
在这里插入图片描述
我缺失了如下文件,如有需要,可以从此处下载。

opencv_ffmpeg.dll
opencv_ffmpeg_64.dll
ffmpeg_version.cmake
ippicv_2020_win_intel64_20191018_general.zip
boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
boostdesc_lbgm.i
vgg_generated_48.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_120.i
face_landmark_model.dat

删除 CMakeDownloadLog.txt
configure,直到cmake界面变白。
再次打开 CMakeDownloadLog.txt,此时发现无 https 开头的内容。(wwwwwww终于好了,老母亲流下激动的泪水)
在这里插入图片描述
generate一下,okk
用 vs 打开 build 文件中的 OpenCV.sln 文件,点击“生成”->"批生成“,勾划ALL BUILDINSTALL
在这里插入图片描述
在这里插入图片描述
大概一个多小时,我显示的是无错误,应该是前面的工作铺垫得好hhhhh

右击 CMakeTargets 下的 INSTALL ,点击 ”仅用于项目“->“仅生成INSTALL”
在这里插入图片描述
成功!

⑤配置OpenCV环境变量
右击【此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量 -> 找到Path -> 编辑 -> 新建】,添加环境变量D:\opencv4.5\build\install\x64\vc15\bin ->确定。

vs2017配置opencv

新建一个空项目,点击 ”项目“ -> “属性” 。
VC++目录 :包含目录 填 D:\opencv4.5\build\install\include D:\opencv4.5\build\install\include\opencv2

在这里插入图片描述
库目录:D:\opencv4.5\build\install\x64\vc15\lib
在这里插入图片描述
链接器->附加依赖项:
opencv_world451d.lib
opencv_img_hash451d.lib
在这里插入图片描述
链接器->常规->附加库目录:D:\opencv4.5\build\install\x64\vc15\lib
在这里插入图片描述
点击 应用 ,欧克!

测试一下

#include <opencv2\opencv.hpp>

using namespace cv;

int main(int argc, char** argv)
{
	Mat img = imread("图片路径");
	imshow("img", img);
	waitKey(0);
	return 0;
}

挺好!成功!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值