OpenCV_contrib编译安装

说明:

  • 由于opencv是一个库,OpenCV_contrib的编译可以理解为:
    借助cmake,将opencv源码及contrib源码生成一个vs项目,再借由这个项目编译出当前vs可以运行的opencv库,官网上opencv在windows可以配置的代码即是省略了前面一些步骤,直接将最后编译得到的给我们。
  • 照着以下教程编译好后,,可以直接当官网上下载的windos版opencv使用,教程地址(教程中为vs2017):
    https://blog.csdn.net/qq_44719427/article/details/104113520

之后为转载部分

———————————————————————————————

做计算机视觉的朋友,估计没有人没用过OpenCV,著名的开源计算机视觉算法库。OpenCV还在不断发展中,最新的3.4版本,已经可以支持cnn了,以后估计会有集成更多的功能。
不过,由于知识产权的原因,OpenCV将很多算法放到了opencv_contrib中,在github上,这两块代码就是分别放在不同的repository中的。
这里写图片描述
OpenCV官方提供了windows可安装的版本,已经有编译好的dll,不过不包括opencv_contrib。如果想应用这部分算法,则需要自己编译opencv,将opencv_contrib编译到opencv中。以下简单介绍以下opencv在windows下编译的过程。
所需材料:

  • opencv源代码
  • opencv_contrib源代码
  • cmake
  • vs2015
  • 一个通畅的网络(这点很重要~)

1.下载opencv源代码
源代码的地址是:https://github.com/opencv/opencv/,默认是master分支。其实都下载master分支,就可以。不过,为了清晰源代码版本,以后还能做到匹配,我选择了tags中的最新版本,3.4.1版本,地址是:
https://github.com/opencv/opencv/tree/3.4.1
代码可通过git下载,用git clone命令即可。也可以在网页上点击Clone or download这个绿色按钮,然后点击download zip就可以。
这里写图片描述

2.下载opencv_contrib源代码
opencv_contrib代码地址是:https://github.com/opencv/opencv_contrib
3.4.1版本代码地址是:https://github.com/opencv/opencv_contrib/tree/3.4.1
相信大家也都发现规律了,参考下载opencv源代码方法即可。
下载后,解压代码到本地目录。
这里写图片描述
上图就是我解压的目录,其中有opencv和opencv_contrib的解压目录,还有一个build目录,用来放置cmake生成的vs工程。
3.安装cmake
CMake是一个跨平台的编译工具,能够输出各种各样的makefile或者project文件。
这里写图片描述
下载地址:https://cmake.org/files/v3.11/cmake-3.11.3-win64-x64.msi
下载之后直接运行,默认安装即可。
4.用cmake生成vs工程
安装好cmake之后,运行cmake,先填写开头的两项
这里写图片描述
Where is the source code是opencv源码路径,即“源路径”
Where to build the binaries是要生成opencv的vs工程路径,即“目的路径”
点击Configure,弹出对话框,选择编译工程的平台。我选的是64位的VS2015
这里写图片描述
点击Finish,即开始配置。这需要一定的时间,期间要下载一些依赖项,此时通畅的网络就起了关键作用,如果下载不全,可通过查看日志文件CMakeDownloadLog.txt手动下载。在完成第一次配置后,出现如下画面。
这里写图片描述
有很多红色选项,说明有问题,解决方法就是再点击一次Configure,这次快多了,出现下面画面。
这里写图片描述
全变白了,说明没问题了,这是需要做两项改动。
这里写图片描述
第一项是勾选BUILD_opencv_world选项,这样,在调用dll时,只调用这一个就行了,不用根据功能选择了,省了些麻烦。
这里写图片描述
这第二项,自然是在OPENCV_EXTRA_MODULES_PATH选项中,填写opencv_contrib解压目录下,modules文件夹的路径,这样就把opencv_contrib编译进去了。
然后再按Configure进行配置,和前面一样,一次红,二次白,不在赘述了。第二次全白了,就可以按Generate按键,生成vs工程文件了。
这里写图片描述
5.用VS2015编译opencv源代码
生成工程完毕,在刚才说的“目的路径”下,可以看到OpenCV工程文件
这里写图片描述
用vs2015打开工程文件,选择Debug x64,点击生成->生成解决方案开始编译,这个过程比较漫长,需要耐心,结果如下。
这里写图片描述
没有错误,然后右击INSTALL,点击“仅用于项目->仅生成INSTALL”
这里写图片描述
即可编译生成dll相关文件,编译过程如下。
这里写图片描述
然后将编译选项调整为Release x64,再重复一下以上的过程。此时在“目的路径”的install目录下,生成了调用dll的全部内容。
这里写图片描述
6.调用生成的dll实现图像处理功能
为了验证生成文件的有效性,新建工程,将库目录和包含目录指定到install文件夹下x64/vc14/lib和include文件夹。处理图片文标准测试图片house
这里写图片描述
测试代码如下:

#include "opencv2/opencv.hpp"  
#include"opencv2/xfeatures2d.hpp"

#if _DEBUG
#pragma comment(lib,"opencv_world341d.lib")
#else
#pragma comment(lib,"opencv_world341.lib")
#endif // _DEBUG

using namespace cv;
using namespace std;

int main(){
    Mat img = imread("E:/PASCAL/OpenCV/house.jpg", CV_LOAD_IMAGE_COLOR);
    Ptr<Feature2D> sift = xfeatures2d::SIFT::create();
    vector<KeyPoint> keypoints;
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译安装OpenCV 3.2和OpenCV_contrib的步骤如下: 1. 首先,下载OpenCV 3.2的源代码和OpenCV_contrib的扩展模块源代码。可以从OpenCV的官方网站或GitHub上获取这些源代码。 2. 解压下载的OpenCV 3.2源代码文件和OpenCV_contrib源代码文件,并将它们分别放置在不同的目录中。 3. 在终端中打开一个新的命令窗口,并导航到OpenCV的源代码目录。 4. 创建一个新的目录,用于保存编译后的OpenCV库文件。建议在源代码目录之外的某个位置创建此目录。 5. 在终端中输入以下命令来设置编译选项和安装路径: ``` cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/path/to/opencv_libs \ -D OPENCV_EXTRA_MODULES_PATH=/path/to/opencv_contrib/modules \ /path/to/opencv_source ``` 其中,`/path/to/opencv_libs`是你创建的用于保存库文件的目录路径,`/path/to/opencv_contrib/modules`是OpenCV_contrib源代码的路径,`/path/to/opencv_source`是OpenCV源代码的路径。 6. 输入以下命令编译安装OpenCV库文件: ``` make -j4 sudo make install ``` 这将会使用4个线程(可根据你的机器性能进行调整)进行编译,并将编译后的文件安装在指定的安装路径中。 7. 安装完成后,可以在指定的安装路径中找到生成的OpenCV库文件。在你的项目中,应该设置正确的头文件和库文件路径来使用OpenCV。 这些是基本的步骤来编译安装OpenCV 3.2和OpenCV_contrib。请注意,在编译安装过程中,可能会遇到依赖问题或其他错误,这可能需要进一步的配置和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值