windows下编译opencv和contrib扩展库

这也是之前在别的平台写的,现在转载到这个平台。前面说过怎么在vs2015上配置opencv,这种配置是下载已经编译好的opencv库,配置好之后就可以直接使用。但是,这种方式不包括opencv的扩展库的,opencv有很多新的功能函数是放在扩展库里面的,而且,还有些有专利的算法,如SIFT算法,不是免费的,如果要使用这些算法,需要自己编译opencv扩展库的源代码。不过最新的5.0版本SIFT算法专利已经过期了,该算法放在主仓库可以直接用了。今天详细说明下怎么在vs2015来自己编译opencv的源代码,生成我们想要的库文件。
这里以opencv4.0.1为例,利用vs2015进行编译。如果用其他的版本,方法是完全一样的。首先,要准备的文件如下:
(1)opencv4.0.1源代码,这个可以从opencv的官网或者github上下载。
(2)opencv_contrib-4.0.1,这是opencv4.0.1对应的扩展库源代码,同样可以从官网或github上下载,一定要下载和opencv对应的版本一致。
(3)cmake软件,这是一个跨平台的编译工具,我这里使用的是cmake-3.14.1-win64-x64。
以上三个文件需要先准备齐全。下面详细说明每一步怎么操作。
第一步,打开cmake软件cmake-gui.exe,出来cmake的界面如图1所示。在图1上标为红色“1”的地方填入opencv源代码的路径,图2是我的电脑上opencv4.0.1源代码的路径,大家可以参考下。标为红色“2”的地方是自己建的一个文件夹存放编译后的结果,我这里是D:\opencv4.0.1\open401buildx64compile。然后点击标为红色“3”的按钮,出来一个对话框如图3所示。按照图3所示,选择vs2015以及64位进行配置,然后点击“finish”。
在这里插入图片描述
图1 cmake界面以及输入opencv源代码路径
在这里插入图片描述
图2 我电脑上的opencv源代码路径
在这里插入图片描述
图3 配置VS2015 64位对话框
第二步,等待第一次配置完成,出来图4所示对话框。Cmake界面会出现以下标红的地方。注意,第一次配置的时候opencv会下载第三方模块文件,速度会很慢,而且很有可能下载不成功。一般先自己把这些文件下载下来,放在openv源代码目录中的.cache目录下。可以看下cmake里面的提示有哪些找不到,然后单独下载下来。
在这里插入图片描述
图4 第一次配置后的cmake界面
第四步,修改cmake中的选项。注意看图5上的“1”和“2”。由于我电脑上没有用python,所以取消这一项。“2”的地方选上,这样后面生成的是一个opencv_world401d.lib文件,这样方便在vs2015中配置。然后再次点击标为“3”的配置按钮。等待配置结束,cmake界面将标为白色。
在这里插入图片描述
图5 修改部分选项
第五步,添加扩展库和非免费选项。如图6所示。把标为“1”的地方选中,在标为“2”的地方输入扩展库的路径。然后再次点击“3”位置的配置。等待配置完成,cmake界面会有部分红色,然后再点击一下“3”的配置按钮,cmake界面变为白色配置完成。然后点击“4”位置的生成按钮,等待生成结束。生成结束后的界面如图7所示。
在这里插入图片描述
图6 添加扩展库配置
在这里插入图片描述
图7 配置和生成结束界面
第六步,打开刚才自己建立的存放编译结果的文件夹,会看到一个OpenCV.sln文件。我电脑上如图8所示。然后用vs2015打开,由于文件比较多,打开可能有点慢,需要耐心等待。打开后的界面如图9所示。
在这里插入图片描述
图8 cmake结束后得到的OpenCV.sln文件
在这里插入图片描述
图9 打开OpenCV.sln后的结果界面
第七步,按照图10所示方法,右键选择“All_BUILD”,然后选择“重新生成”。等待生成结果,这个过程有点漫长,根据自己电脑的性能,可能20到30分钟左右。然后会图11重修生成后的结果,vs2015最好采用update3版本,不然有可能生成会出错。
在这里插入图片描述
图10 重新生成项目
在这里插入图片描述
图11 重新生成后的结果
第八步,按照图12所示,右键点击“INSTALL”,再选择“仅用于项目”,再选择“仅生成INSTALL(B)”,等待生成结束。应该会看到图13所示生成成功的结果。
在这里插入图片描述
图12 生成INSTALL
在这里插入图片描述
图13 生成INSTALL成功
最后,找到自己建立的编译文件夹,可以看到一个“install”文件,这个文件夹里面的内容就是我们最后需要的opencv库文件。按照以前的配置opencv的方式,在vs2015里面进行属性管理器的配置,就可以使用自己编译的opencv库了,这个自己编译的库包括了扩展库里面的算法。当然在配置之前别忘了要先设置环境变量,具体不清楚的地方可以参考前面的文章。图14是我电脑上最后得到的install文件夹的内容,可以参考下。有了这个文件之后,其他的文件就可以删除了。
在这里插入图片描述
图14 最后“install”之后得到的opencv库文件
需要的文件都在这里:
链接:https://pan.baidu.com/s/1XyotEmXLfD-XCNCYOiVUYg
提取码:aj9d

猜你喜欢

转载自blog.csdn.net/lang_shi/article/details/129317693