win10编译opencv3.4.7和opencv-contrib3.4.7

背景

最近项目需要运用到目标跟踪,opencv-contrib里面有一些内置的函数(比如kcf等),想试试看其效果如何,所以就需要重新编译opencv。之前用的opencv3.4.7,所以也重新编译opencv3.4.7+opencv-contrib3.4.7。

准备工作

1.安装vs2015(网上很多教程)
2.下载opencv3.4.7和opencv-contrib3.4.7源码(版本需一致)
opencv下载地址
opencv-contrib下载地址
3.安装cmake

开始编译

1.将下载的3.4.7.zip和3.4.7-contrib.zip放进一个文件夹opencv3.4.7里面,解压出现opencv-3.4.7以及opencv_contrib-3.4.7两个文件夹,同时新建文件夹opencv347build
在这里插入图片描述
2.打开cmake,右上角Browse Source以及Browse Source分别加上自己的opencv-3.4.7以及opencv347build
路径,我的是:
在这里插入图片描述
接下来点击configure,过了几分钟会爆红,主要就是一些文件下载不了,我这边遇到的主要就是ffmpeg,ippicv相关的名字的文件。不同opencv需求版本不同,但具体下载以及替换方式可以参考

https://blog.csdn.net/niuyuanye/article/details/79607770

接下来将cmake选项OPENCV_EXTRA_MODULES_PATH添加为相应opencv_contrib-3.4.7/modules文件夹
在这里插入图片描述
(有的博主将BUILD_opencv_world也选上了,目的是为了最后能得到单一的opencv347.lib文件,就好比opencv2与opencv3的区别,确实方便,可我试了最后在vs2015编译opencv时失败了,所以我就没有勾选上,最后在vs2015附加依赖库时辛苦一下。。。)

添加opencv-contrib相关文件后,重新configure一下,这时就会提示跟之前累似的问题,缺少以下文件等等
在这里插入图片描述在这里插入图片描述在这里插入图片描述
反正参考上面那篇博客就行,过程有点枯燥。。
(最后我会把我的.cache文件夹共享出来,所有缺失文件都在里面,方便各位,但仅仅支持3.4.7。貌似不同版本主要是ffmpeg,ippicv不同,contrib缺失的文件好像能通用)

3.最后Configure没报错就Generate,(我在configure中一直有python相关的问题爆红,最后无视它generate)
点击右边的Open Project就会进入VS2015的OpenCV.sln项目(或者点击opencv347build文件夹里的OpenCV.sln进入)。
换成Realse x64(Debug x64反正同理,我暂时没编译),先生成->重新生成解决方案,经过大约半小时编译完成(我开始在cmake时选择了BUILD_opencv_world,结果一直报错没找到world347文件,后来就放弃了),然后选择 CMakeTargets下的INSTALL右键选择仅用于项目->仅生成INSTALL,这时就会在D:\Softwares\opencv3.4.7\opencv347build里面找到install文件夹(大功告成)
在这里插入图片描述
4.install文件夹里面的东西就跟exe方式安装opencv的build文件夹类似(懂的自然懂),因为我之前使用exe方式安装过opencv3.4.7。所以环境变量,包含目录,库目录,附加依赖项都已经配好,不懂的童鞋上网查查就知道。将D:\Softwares\opencv3.4.7\opencv347build\install里的include文件夹以及x64文件夹里面的文件全部复制到很久之前exe安装的同名文件夹D:\opencv3.4.7\build里面。
在这里插入图片描述
看吧是不是很像
这样文件复制工作准备完毕,但是因为我生成了许多lib文件,所以需要在附加库目录里面全部加进去,大家如果跟我一样,复制就行。
opencv_aruco347.lib
opencv_bgsegm347.lib
opencv_bioinspired347.lib
opencv_calib3d347.lib
opencv_ccalib347.lib
opencv_core347.lib
opencv_datasets347.lib
opencv_dnn_objdetect347.lib
opencv_dnn347.lib
opencv_dpm347.lib
opencv_face347.lib
opencv_features2d347.lib
opencv_flann347.lib
opencv_fuzzy347.lib
opencv_hdf347.lib
opencv_hfs347.lib
opencv_highgui347.lib
opencv_img_hash347.lib
opencv_imgcodecs347.lib
opencv_imgproc347.lib
opencv_line_descriptor347.lib
opencv_ml347.lib
opencv_objdetect347.lib
opencv_optflow347.lib
opencv_phase_unwrapping347.lib
opencv_photo347.lib
opencv_plot347.lib
opencv_reg347.lib
opencv_rgbd347.lib
opencv_saliency347.lib
opencv_shape347.lib
opencv_stereo347.lib
opencv_stitching347.lib
opencv_structured_light347.lib
opencv_superres347.lib
opencv_surface_matching347.lib
opencv_text347.lib
opencv_tracking347.lib
opencv_video347.lib
opencv_videoio347.lib
opencv_videostab347.lib
opencv_xfeatures2d347.lib
opencv_ximgproc347.lib
opencv_xobjdetect347.lib
opencv_xphoto347.lib

最后就能成功使用#include <opencv2/tracking.hpp>了,嘿嘿。
在这里插入图片描述

最后的最后附上.cache文件夹下载,3.4.7版本各位应该直接复制过去就能用
链接:https://pan.baidu.com/s/1ANf6r2e3zVY_dON3ot41ww
提取码:l80y

参考:https://blog.csdn.net/niuyuanye/article/details/79607770

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值