首页 > 编程知识 正文

opencv安装环境变量,opencvcontrib是什么

时间:2023-05-06 13:18:37 阅读:168053 作者:3331

前言1、前言重要事项2、正文1、安装步骤2、编译与配置摘要前言学习OpenCV特征检测与匹配时,OpenCV3.x版从官方发行的基础版中删除SIFT、SURF、ORB操作符等源代码要使用已迁移到opencv_contrib扩展库的xfeatures2d中的这些算法,必须重新下载编译扩展库。 网上的资料各种各样,但没有一个资料有完整的过程。 于是,有了这里的文章。 一个是为了让自己更熟悉记录学习,另一个也是为了给后来的人提供方便。

一.前面写的重要事情本篇文章开发环境是Visual Studio,编译使用的是CMAKE,各种版本号如下:

主机系统:Win10 x64

Visual Studio:2019(VS16)

OpenCV:3.4.11

opencv_contrib:3.4.11(这个版本需要和OpenCV版本一致)

CMAKE:3.21.3

首先应该做的是预先下载各种需要的东西。 以下是下载链接(还是推荐下载到各种官方网站)。

Visual Studio:免费开发者软件和服务- Visual Studio免费产品/服务: Visual Studio Community、Visual Studio Code、VSTS、dev essess 3359 visual studio.Microsoft.com/zh -喜欢的早晨/free-developer-offers/

http://www.Sina.com/releases-opencv https://opencv.org/releases /

OpenCV:

33558 www.Sina.com/github-opencv/opencv _ contrib 3360 repositoryforopencv ' sextramodulesrepositoryforopencv ' sextralencv ' opencv _ contribdevelopmentbycreatinganaccountongithub.https://github.com/opencv/opencv _ contrib

PS:不建议选择最新版本,懂的都懂。

3358 www.Sina.com/download|cmake https://cmake.org/download /二、正文1 .安装说明

opencv_contrib:

PS:还是那句话,需要和OpenCV版本一致。

CMAKE:

也许大概这东西其实没什么步骤。

OpenCV和opencv_contrib的安装过程实际上就是解压过程,建议解压在除C盘外的盘,解压完成后得到(自己改了文件名):

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /

Visual Stuio和CMAKE就一路next的就完了。安装完大概就是这样。

打开CMAKE,填写相关参数,包括:OpenCV源码目录和OpenCV.sln工程的导出目录

添加完扩展包路径后,勾选:

strong>

关于错误信息可以D:OpenCVcmake_contrib_opencv(输出目录)CMakeDownloadLog.txt中查看,打开可以看到以下内容。不同版的OpenCV丢失的文件会有不同。

#use_cache "D:/opencv/opencv346/sources/.cache"#do_copy "opencv_ffmpeg.dll""41b81bb9a50cabd4bea385f7b50a069a" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fe71c0ad807fdc33c2178e48e488f1e9b177c39a/ffmpeg/opencv_ffmpeg.dll""D:/opencv/opencv346/contrib_build/3rdparty/ffmpeg"这里的意思是说将 opencv_ffmpeg.dll(它的md5签名是 41b81bb9a50cabd4bea385f7b50a069a,下载地址是 "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fe71c0ad807fdc33c2178e48e488f1e9b177c39a/ffmpeg/opencv_ffmpeg.dll" ) 从 "D:/opencv/opencv346/sources/.cache" 拷贝到 "D:/opencv/opencv346/contrib_build/3rdparty/ffmpeg"目录下。 #missing "D:/opencv/opencv346/contrib_build/3rdparty/ffmpeg/opencv_ffmpeg.dll"#check_md5 "D:/opencv/opencv346/sources/.cache/ffmpeg/41b81bb9a50cabd4bea385f7b50a069a-opencv_ffmpeg.dll"#mismatch_md5 "D:/opencv/opencv346/sources/.cache/ffmpeg/41b81bb9a50cabd4bea385f7b50a069a-opencv_ffmpeg.dll" "d41d8cd98f00b204e9800998ecf8427e"#delete "D:/opencv/opencv346/sources/.cache/ffmpeg/41b81bb9a50cabd4bea385f7b50a069a-opencv_ffmpeg.dll"意思是目标目录下没有此文件#cmake_download "D:/opencv/opencv346/sources/.cache/ffmpeg/41b81bb9a50cabd4bea385f7b50a069a-opencv_ffmpeg.dll" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fe71c0ad807fdc33c2178e48e488f1e9b177c39a/ffmpeg/opencv_ffmpeg.dll"意思是准备cmake下载此文件到源代码路径 /.cache/ffmpeg/,并命名为"md5-文件名"# timeout on name lookup is not supported# Trying 151.101.228.133:443...# TCP_NODELAY set# Connected to raw.githubusercontent.com (151.101.228.133) port 443 (#0)# schannel: ALPN, offering http/1.1# schannel: failed to receive handshake, SSL/TLS connection failed# Closing connection 0# schannel: shutting down SSL/TLS connection with raw.githubusercontent.com port 443# Send failure: Connection was reset# schannel: failed to send close msg: Failed sending data to the peer (bytes written: -1)# 意思是连接到服务器超时失败

cmake_download后面的就是下载失败的文件,下载的网址就在后面。然后这些下载失败的就需要我们自己下载了,推荐一个代理下载网站(自己去官网下也可以)。

GitHub Proxy 代理加速https://ghproxy.com/注意在代理网站下载后打开是网页格式,就像下面这样,需要另存为文件。

文件名有两种选择:

1、重命名为md5-文件名,然后放在check_md5后面显示的文件夹内;

2、直接以文件命名,然后放在目标路径下(不用重命名)

等把所有文件全部下载以后重新configure进行编译,还有爆红就重复流程,一直到不爆红,然后点击Generate。到这编译就完成了。

打开编译以后的文件夹,找到OpenCV.sln工程文件,打开它。

照上面流程来算上例子,应该是490个项目,因为流程没有什么太大坑就懒得截了,借用了别的博主的图片。

用VS 2019打开OpenCV.sln工程,在解决方案中可以查看工程目录:

编译生成debug版本的库,记得在此之前要选择编译的平台信息,这就是编译生成debug版本和release版本的区别,也可以选择release,因为自己的工程可能要用到相应的动态链接库

  在解决方案中选中工程,右键选择重新生成解决方案

找到CMakeTargets中的INSTALL,然后右键选择“仅限于项目”-->“仅生成INSTALL

  然后,在工程目录下的install目录中,可以看到生成了一堆文件

然后配置环境变量,把刚生成的****installx64vc16bin作为环境变量加入(如果之前有OpenCV务必替换它),配置完环境变量最好注销一下。

最后配置属性表,把新的库文件和依赖项配置到项目属性表里。

VC++目录-->包含目录,添加:

D:OpenCVcmake_contrib_opencvinstallinclude

D:OpenCVcmake_contrib_opencvinstallincludeopencv

D:OpenCVcmake_contrib_opencvinstallincludeopencv2

VC++目录-->库目录,添加:
D:OpenCVcmake_contrib_opencvinstallx64vc16lib

链接器-->输入-->附加依赖项,添加:

opencv_img_hash3411d.lib

opencv_world3411d.lib

这里说一句,之前如果没有勾选BUILD_opencv_world的话lib文件会有很多,不过也没有关系,把所有lib文件全部添加进去也是没有问题的。

到这就over了,如果没有出现其他问题就可以使用了。

总结

也没啥总结,事已至此睡大觉吧。

ps:某些在外网把资源下载下来扔在CSDN赚积分的挺离谱的

参考

在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib - 只需一步 - 博客园

CMake编译OpenCV3.4.6时opencv_ffmpeg.dll等下载失败的解决办法_star_of_science的博客-CSDN博客

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。