opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake

安装

整个过程很曲折,废了我两天半。正确流程大概如下:
参考:
https://blog.csdn.net/huachao1001/article/details/76595549
https://blog.csdn.net/streamchuanxi/article/details/51044929

  1. 我之前已经安装好VS2013和配置好opencv3.0的环境
  2. 下载opencv_contrib-3.0.0,解压在opencv安装目录下。
  3. 到 https://cmake.org/download/ 下载cmake最新版(他那个好像有压缩文件,解压之后就可以用,但我不太懂为啥,就按部就班的下的安装包然后安装),我下的是
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第1张图片
  4. 打开cmake,选择OpenCV源码目录OpenCV.sln工程的导出目录,点configure开始配置,然后出现了各种错误,见下方“问题”。(这里configure之后会让你选择用什么编译器,注意如果不特意设置,默认为win 32,这一篇就是win32的编译)
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第2张图片
  5. 解决掉错误,配置成功后,找到OPENCV_EXTRA_MODULES_PATH,填写F:/opencv/opencv_contrib-3.0.0/modules
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第3张图片
    然后configure,配置成功后,再generate,成功后,就可以看到目录里面生成了OpenCV.sln的一个工程文件。
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第4张图片
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第5张图片
  6. 打开这个工程文件,然后重新生成解决方案(又出现了很多错误,见另一篇笔记)
    成功后如下:
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第6张图片
  7. 找到CMakeTargets中的INSTALL,然后右键选择“仅限于项目”–>“仅生成INSTALL”
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第7张图片
  8. 然后,在opencv_contrib-3.0.0的install目录中,可以看到生成了一堆文件:
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第8张图片

配置

记得配置环境变量
opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第9张图片

把新的库文件配置到项目里就好了,
opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第10张图片
opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第11张图片
链接器–>输入–>附加依赖项,里面再加上下面这一堆就好了

注意:下面是debug的版本,release的把d去掉就好了

opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第12张图片
opencv_aruco300d.lib
opencv_bgsegm300d.lib
opencv_bioinspired300d.lib
opencv_calib3d300d.lib
opencv_ccalib300d.lib
opencv_core300d.lib
opencv_datasets300d.lib
opencv_dnn300d.lib
opencv_dpm300d.lib
opencv_face300d.lib
opencv_features2d300d.lib
opencv_flann300d.lib
opencv_hal300d.lib
opencv_highgui300d.lib
opencv_imgcodecs300d.lib
opencv_imgproc300d.lib
opencv_line_descriptor300d.lib
opencv_ml300d.lib
opencv_objdetect300d.lib
opencv_optflow300d.lib
opencv_photo300d.lib
opencv_reg300d.lib
opencv_rgbd300d.lib
opencv_saliency300d.lib
opencv_shape300d.lib
opencv_stereo300d.lib
opencv_stitching300d.lib
opencv_structured_light300d.lib
opencv_superres300d.lib
opencv_surface_matching300d.lib
opencv_text300d.lib
opencv_tracking300d.lib
opencv_video300d.lib
opencv_videoio300d.lib
opencv_videostab300d.lib
opencv_xfeatures2d300d.lib
opencv_ximgproc300d.lib
opencv_xobjdetect300d.lib
opencv_xphoto300d.lib

问题

  • 问题1:发现文件名不能有空格,有的话,configure就会报错
  • 问题2:由于当时我总是报错,也不知道是啥错,死马当活马医,就按下面这个做,好像就不报错了:
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第13张图片
  • 问题3:
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第14张图片
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第15张图片
    于是我就把下面那个VTK勾掉了,虽然不知道有啥用,有啥影响,然后就成功了。
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第16张图片
    成功啦!
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第17张图片
    opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第18张图片
  • 问题4:打开OpenCV.sln然后重新生成解决方案时,出现了好几百个语法错误,后来发现是我下的版本不对,我之前下的是opencv_contrib-3.0.0-beta,其实应该是opencv_contrib-3.0.0。
    各版本opencv对应的opencv_contrib 链接:
    https://github.com/opencv/opencv_contrib/releases?after=3.4.1

beta和rc区别:
软件的生命周期中一般分4个版本,RC 和 Beta分别是其中2种。如下是4种的解释:

  1. alpha版:内部测试版。α是希腊字母的第一个,表示最早的版本,一般用户不要下载这个版本,这个版本包含很多BUG,功能也不全,主要是给开发人员和
    测试人员测试和找BUG用的。
  2. beta版:公开测试版。β是希腊字母的第二个,顾名思义,这个版本比alpha版发布得晚一些,主要是给“部落”用户和忠实用户测试用的,该版本任然存
    在很多BUG,但是相对alpha版要稳定一些。这个阶段版本的软件还会不断增加新功能。如果你是发烧友,可以下载这个版本。
  3. rc版:全写:Release
    Candidate(候选版本),该版本又较beta版更进一步了,该版本功能不再增加,和最终发布版功能一样。这个版本有点像最终发行版之前的一个类似预览版,这个的发布就标明离最终发行版不远了。作为普通用户,如果你很急着用这个软件的话,也可以下载这个版本。
  4. stable版:稳定版。在开源软件中,都有stable版,这个就是开源软件的最终发行版,用户可以放心大胆的用了。

成功!
opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第19张图片
opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第20张图片

- 问题5:未解决!!!!!!!!!

运行程序时发现error1104,打不开下面这些lib文件,原来是install目录下根本没有这些文件,当时生成的时候没有生成,不知道咋回事,我直接把属性-链接器-输入-附加依赖项里面这些都删掉了,然后编译成功,但是不知道以后有没有影响。希望大佬看到可以不吝赐教,给我科普一下,多谢!
opencv_contrib-3.0.0(opencv3.0对应的版本)(win32编译配置)+VS2013+cmake_第21张图片
opencv_aruco300d.lib
opencv_dnn300d.lib
opencv_dpm300d.lib
opencv_stereo300d.lib
opencv_structured_light300d.lib

你可能感兴趣的:(OpenCV3.0,VS2013,CMake)