vs2019+cuda10.1+opencv4.1+opencv_contrib4.1 加速的opecv(含扩展库)环境配置

1.资源下载

  1. cuda10.1
    在这里插入图片描述
  2. opencv4.1.0+ opencv_contrib4.1.0
    由于知识产权的原因,OpenCV将很多算法放到了opencv_contrib中,在github上,这两块代码就是分别放在不同的repository中的。
    在这里插入图片描述OpenCV官方提供了windows可安装的版本,已经有编译好的dll,不过不包括opencv_contrib。如果想应用这部分算法,则需要自己编译opencv,将opencv_contrib编译到opencv中。
    注意:两个库的版本一定要一致,版本可以在Tag下选择:
    在这里插入图片描述
    在这里插入图片描述
    下载时通过客户端下载速度更快,客户端的加速技巧可以在其他博客找到。下载后放到一个文件夹下:
    在这里插入图片描述
  3. 最后下载cmake

在这里插入图片描述

2.编译

在下载源文件的同级目录下新建build文件夹(如上面两个图),作为编译输出位置。输出位置一定要保证磁盘容量足够,不然编译会出现一系列问题,一个debug版本的编译大概就要20G左右。在第一次编译的时候,就因为磁盘不足的原因,编译失败。填写cmake的头文件:

在这里插入图片描述点击Configure,弹出对话框,选择编译工程的平台。我选的是64位的VS2019和 “use defalut native compilers" 后点击Finish,等待配置完毕。如果你的CUDA安装正确会检测到你的CUDA版本。在配置过程中会联网下载点东西,如果这时候网络不好的话会报错,在Cmake编译的Log文件中有需要下载的文件和文件对应的网址,可以等网络好的时候再联网下载,将下载好的文件放入原位置即可。
在这里插入图片描述在完成第一次配置后,出现一片红色,再点一次配置就变白了。变白后改变其中的三个选项:
1.注意勾选WITH_CUDA(带了cuda后,以后发布程序到其他电脑上都要带cuda的DLL文件,所以慎重选择)
2.勾选BUILD_opencv_world选项,这样,在调用dll时,只调用这一个就行了,不用根据功能选择了,省了些麻烦。
3.在OPENCV_EXTRA_MODULES_PATH选项中,填写opencv_contrib解压目录下,modules文件夹的路径,这样就把opencv_contrib编译进去了。
在这里插入图片描述在这里插入图片描述在这里插入图片描述按Generate按键,生成vs工程文件了。 生成完毕之后在 “ Configuring done"下面会出现”Generating done"。之后直接点击“Open Project",便会使用VS2019打开工程。
在这里插入图片描述
在 VS2019界面 点击 “ 生成”->“配置管理器”,在配置管理器中选择 “ALL_BUILD"和”INSTALL“ ,生成即可 。

选择Debug x64,点击生成->生成解决方案开始编译。

然后将编译选项调整为Release x64,再重复一下以上的过程,生成解决方案。此时在“目的路径”的install目录下,生成了调用dll的全部内容。

如果没有选INSTALL可以右击INSTALL,点击“仅用于项目->仅生成INSTALL”
在这里插入图片描述生成成功后继续编译Release版本,最后可以在指定输出文件夹下的install文件夹下找到编译输出内容
在这里插入图片描述
最后参考之前的配置opencv的方法来配置就好了。

注意

因为勾选了With CUDA,以后再发布程序exe的时候不止需要配opencv的dll,还要添加cuda的dll。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章