windows安装配置opencv opencv_contrib

目录

前言

python用户

c++用户

一,下载cmake,opencv,opencv_contrib,Visual Studio

1,下载安装cmake

2,下载opencv,opencv_contrib

3,下载Visual Studio        

二,编译opencv和opencv_contrib

1,cmake编译

2,VS编译生成,并配置opencv_contrib环境

三,总结


前言

        用不上opencv_contrib里面算法的,建议暂时先不用配置opencv_contrib,这个直接用opencv和用opencv加上contrib的环境配置难度差异较大(python用户当我没说)。

python用户

cmd终端输入:

pip install opencv-python

pip install opencv-contrib-python

c++用户

一,下载cmake,opencv,opencv_contrib,Visual Studio

1,下载安装cmake

        ①官网下载:Download | CMake

        ·        

        根据自己的电脑选择合适的版本下载,一般都为64位。下载好后直接安装,点next的画面我就不展示了,我展示需要更改的。

        ②如图

        

         ③更改储存位置

        

         ④终端输入cmake验证

        

2,下载opencv,opencv_contrib

      ① opencv官方下载https://github.com/opencv/opencv/releases

       

         根据自己的需求下载对应的版本,windows下载exe版本就行,省却解压步骤,注意解压的路径,建议选择一个盘新建一个opencv文件夹,用来放opencv和opencv_contrib。

       ② opencv_contrib官方下载:  https://github.com/opencv/opencv_contrib/tags

        注意和自己下载的opencv版本对应,这个只有源码方式,不过原理都一样,

        

3,下载Visual Studio        

     ① 官方链接:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

        个人学习建议直接下社区版,也不用去费劲破解啥的了,对于个人开发来说,没有区别。

        

         ②下载完成,点击安装之后等待一会就行,根据自己需要进行选择,选少了也没事,后面还可以再添加,但是选多了,就实实在在占内存了。

        

        ③选择完后,点击语言包选择语言

        

         ④选择安装位置,刚买的笔记本,就一个盘,所以只能放c盘。有需要更改位置的可以选择更换位置。

        

         ⑤点击安装(我是装好了,回来截的图,正常的会显示安装),然后耐心等待,包很大

        

        ⑥想要更改配置的,可以在左下角开始出找Visual Studio Installer,点击进行修改

                         

二,编译opencv和opencv_contrib

1,cmake编译

        ①在安装或源码存放目录下,新建build文件夹

        

        ②打开cmake文件夹,选择opencv文件夹中的source文件夹和build文件夹

         ③点击configure选择配置,然后弹出配置框,第一项选择自己的Visual Studio版本,后面两项不用填

                                 

         ④再次点击configure,它会运行source文件中cmakelist进行下载配置(第一个框,第一次运行时会显示变成红色,再点一次configure就没了),不过这一步,应该没有人能一次性下载完的,都会报错下载不了,原因应该是被墙了,但是科学上网有时候有用(有条件可以多试试)。如果科学上网还是不行,就得老老实实的手动下载(建议耐心一点,有点麻烦),复制报错的CMakeDownloadLog.txt路径。

                        

        ⑤打开CMakeDownloadLog.txt,查看报错

                 

         ⑥打开对应的文件夹,可以看到下载的文件为0kb,所以需要手动下载

         ⑦报错文件夹中所下载的网址被墙得很死,所以去github下载比较好。

        下载地址:https://raw.githubusercontent.com/opencv/opencv_3rdparty/

根据报错的信息选择对应的文件 以上文报错为例       

                

         ⑥改名,将下载文件改为所缺文件夹中的名字

        

              此处为了对比才放一起,实际操作最好先改名再移到所需文件夹中

        

          ⑦再运行Corfigure,会发现红色警告少了一个,然后④~⑦继续解决,直到没有红色警告。熟悉之后可一次性下载多个,然后替换,注意一下对应关系别混就行,有的报错文件没有版本要求就直接下载最新的一版,不用太纠结。

                

                 

         ⑧编译opencv_contrib,做下面三项改动,勾选BUILD_opencv_world、OPENCV ENABLE NONFREEM和添加opencv_contrib中的moudle路径 。如果需要cuda加速和cudann使用的接着勾选。不需要则直接进行⑨步

                

                

         ⑧-1,cuda加速的前提是要安装好cuda和对应的cudann版本,并且具有英伟达显卡。不满足条件,勾选会报错。搜索cuda,全部选中,然后点击configure再进行配置

                

       ⑧-1-1,首先检查是否找到cuda和cudann,如果没找到则检查版本对应以及环境配置,可参考cuda环境配置,进行重新配置。注意重新配置好后,要删除build文件夹重新编译,否则还是检测不到,不过由于不能下载的文件已经备齐所以不会费多少时间。成功结果如图:

                  

        ⑧-1-2,然后查看爆红,还是查看CMakeDownloadLog.txt,去github下载对应文件防止对应文件夹。解决完下载报错之后,下面这个报错可以忽略。

                

         ⑧-2查询显卡算力,在cmd终端运行(安装cuda路径)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\extras\demo_suite路径下的deviceQuery.exe。我查询结果为8.6

                

         ⑧-3,将CUDA _ARCH_BIN中比自己小的算力都删掉(但不知道为啥现在RTX3090都出来好久了,cuda加速的算力好像还在3060范围,我的笔记本3060显卡算力竟然在最高段),借用一下大佬的图,这一栏我为空,然后自己加的。

                

         ⑨点击configure编译,不出意外的话,还是会有很多红色警告,解决警告的方法还是同④~⑦一样操作。不过我出意外了,科学上网下载github文件,然后没有关。两次configure,连续编译就结束了,没有红色警告,巴适。

         ⑩解决完红色警后,点击Generate,然后点击Open Project。

2,VS编译生成,并配置opencv_contrib环境

       ① 按照图片操作,点击生成解决方案,在将opencv和opencv_contrib的库结合在一起。生成后,可能会失败一个,影响不大。

        

        ②新打开一个VS界面。新建项目,然后添加库到项目编译的环境中。添加include头文件,添加成功后如果有测试代码会发现,关于opencv_contrib和opencv的头文件不再报错

        ​​​​​​​        

        ③添加lib 文件,其实很多教程都使用链接器巴拉巴拉的(如果出现main.obj文件报错,则要按照③-1添加),我试了很多次,在库目录添加lib文件夹就行。                       ​​​​​​​                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​      

        ③-1,后续博主测试的时候发现,有的代码,添加了lib文件夹,但是运行的时候还是链接不到opencv的lib文件,中间文件.obj会报错:error LNK2019: unresolved external symbol,需要在链接器里将lib文件夹中的lib再次链接才行,报错就按如下操作。(以防后续出错,可以直接加上)

        ​​​​​​​        ​​​​​​​        

        ​​​​​​​        ​​​​​​​        ​​​​​​​

        ④添加bin中的dll文件,有些教程没有这一步非常坑人,不过我也很疑惑,为啥bin文件路径添加到各个地方都没有用(系统环境变量都加过),它就是找不到,打不开等等(望大佬告知)。只能将生成的bin文件目录下的dll文件移到windows/system32下才能被检测到。

         ⑤测试自己的代码,调用#include"opencv2/xfeatures2d.hpp"等等,

三,总结

        换了新电脑得重新配环境,不过本来是用不上opencv了的。但是yolov5学着学着,发现需要用opencv dnn部署yolov5的c++环境,既是为了配合相机的官方库,也是为了加速yolo模型推理。不过最好希望能搞懂tensort,网上都说这个部署加速最强。

        记录一下,希望以后配置环境能快一点。。。

        有问题,欢迎评论区留言讨论。

四,参考博客

win10+vs2017+opencv4.5.0+opencv_contrib-4.5.0+cuda源码编译详细教程_fengxinzioo的博客-CSDN博客_opencv4.5编译

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值