目录
问题1、CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install
为什么要编译OpenCV
OpenCV提的库,稳定、方便、好用且问题少。为什么要自己搞?
通过OpenCV的依赖库和依赖项,对OpenCV的功能和算法相关情况有个大致的推断,在使用时候如果有问题是可以通过这些推断来解决;
能够根据电脑配置和应用情况自由选择生成库的功能和依赖项,比较灵活;
通过源码编译,能够生成本地的DOC文档,方便查阅和学习;
OpenCV是开源库,在开发过程中,无论是学习还是改进,都需要对源码进行研究,自己生成能够自由的对源码进行合理利用;
作为初学者或者老鸟,自己编译一下,更能理解OpenCV库的使用方法。
就是想自己编译、生成。。
原因说完了,,本文以OpenCV4.5.2版本为例,其它版本几乎是一样的。
零、前期准备
1、安装Cmake
2、安装VS2019,或者其它版本也可以替代
3、其它你想Opencv依赖的库,比方说CUDA;
一、下载opencv源码:
1、打开https://github.com/opencv/opencv
2、选择下载版本,可以选择一个4.5.2,如果自己电脑上有openvino可以选择带openvino,可以主力深度学习模块:
3、下载源码,通过Download ZIP下载即可,如果安装了git,可以用git clone + 地址命令下载;
二、下载opencv_contrib源码(可选)
有一些库开源协议或者是其它原因不在OpenCV Main Module中,如果需要使用则需要下载这里
1、打开网址:https://github.com/opencv/opencv_contrib
2、选择版本,最好选择和opencv相同的版本;
3、下载源码,通过Download ZIP下载即可,如果安装了git,可以用git clone + 地址命令下载;
三、源码编译
1、解压下载的源码:
2、打开cmake
1)、设置source为opencv源码所在目录;
2)、在opencv中建立一个build文件夹,设置build目录为该目录;
3)、点击Configure,选择Visual Studio 16 2019 或者其它的vs版本也可以;选择编译x64得到64位版本;
经过前面三步,截图如下:点击finish;
4)第一次configure完成之后,搜索module,设置module路径,然后点击configure;
4)、再次点击Configure,红色区域消失即成功,大概是下面这样;
5)、选做,如果非常需要字符识别的部分Tenseract,在with中如果勾选了Tenseract,则需要下载其源码,
下载地址:https://github.com/tesseract-ocr/tesseract/tree/5.0.0-alpha ,选择最新版本进行下载,然后配置Cmake中,关于Tenseract的目录:
当然,需要自己来编译Tenseract,也是用cmake;
6)、选做 ,如果打算自学Opencv的,最好勾选BUILD_DOCS,从而得到帮助文档,在生成过程中可能会出现问题2,文后有解决方法,解决后可以生成本地帮助文档,方便查看;需要说明的是帮助文档是html格式,从opencv3.X以后就没有pdf版本了。
这步强烈建议勾选
8)、点击Generate生成Opencv.sln,点击Open Project,下面进入VS部分;
四、打开opencv工程,生成整个项目
点击Open Project,VS启动之后,选择Release和Debug模式,然后点击生成->生成解决方案,即可生成;Release和Debug生成方式是一样的。
成功之后是这样:
生成之后,可以得到相应的lib和dll文件;
当然,生成之后如果要使用,可以生成自己的opencv安装包,方法就是
右键点击INSTALL-》生成,此使会在build目录中生成一个install文件夹,就是一个opencv安装包,可以和下载的安装包一样的使用方法;
生成目录如下:
五、问题解决:
问题1、CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install
解决方法:https://sourceforge.net/projects/doxygen/
下载最新版本安装即可
问题2、在生成doc的时候出现以下错误:
2>'perl' 不是内部或外部命令,也不是可运行的程序
2>或批处理文件。
2>CUSTOMBUILD : error : Problems running bibtex. Verify that the command 'perl --version' works from the command line. Exit code: 1
解决方法:下载perl并安装,之后把bin路径加入到系统变量;即可生成html的文档;
转载联系作者