美文网首页嵌牛IT观察
搭建OpenCV开发环境:翻车补救指南(下)

搭建OpenCV开发环境:翻车补救指南(下)

作者: 标准与或式 | 来源:发表于2017-11-05 15:59 被阅读0次

    姓名:刘强
    【嵌牛导读】
    GCC和opencv官网提供的编译好的库存在兼容问题,本文介绍如何利用cmake和GCC编译出一个和当前环境兼容的opencv库
    【嵌牛鼻子】
    OpenCV   CMake   GCC
    【嵌牛提问】
    如何编译出一个与当前环境兼容的opencv库?
    【嵌牛正文】
    上一篇搭建OpenCV开发环境:翻车补救指南(上)最后提到,诸如:

    //播放一段名为“input.avi”的视频
    #include <cv.h>
    #include <opencv2\opencv.hpp>
    
    using namespace cv;
    
    int main()
    {
        VideoCapture capture;
        capture.open("input.avi");
        while(true)
        {
            Mat frame;
            capture>>frame;
            imshow("videotest",frame);
            waitKey(10);
        }
        return 0;
    }
    

    这样使用了C++调用接口的代码,GCC编译链接的时候无法和opencv官网提供的库兼容,这是因为opencv官网的库是用Visual Studio编译的,从win pack解压出来的文件目录可以看出,库文件存在这样三个版本:

    分别表示用vc2010编译出来的版本,vc2011编译出来的版本,以及vc2012编译出来的版本。Visual Studio每一代版本内置的编译器都会和之前有些不容,因此,使用Visual Studio+opencv配置开发环境时一定要选用和下载的opencv相适应的VS版本。但是微软提供的VS社区版往往只提供了最新的版本,我们又想要使用opencv2.4.9,这时,就遇到兼容性问题了。

    解决方案

    问题的冲突主要在于官网提供的库是用Visual Studio编译的,而我们的环境里使用的是GCC编译器。既然opencv是开源的,我们可以很容易从官网下载到源代码,那么将其源代码用GCC编译成库文件就好了,这样编译出来的库一定是与当前编译环境兼容的。

    • step1
      安装cmake   点此下载
    • step2
      运行cmake,在where is the source code中填入OpenCV源代码文件的路径,这里用的路径是“E:/MyLib/opencv_2410/sources”;在where to build the binaries中填入编译文件需要存放的路径,这里用的是“E:/OpenCV2.4.10/MinGW/Debug”(存放路径文件自己定义新建一个即可):
    • step3
      点击“Configure”;在Specify the generator for this project中选择CodeBlocks - MinGW Makefiles,选中Specify native compilers,点击“Next”;
    • step4
      选择编译器路径,这里Compilers: C 选择目录为“codeblocks安装路径/MinGW/bin/gcc.exe”; C++ 选择目录为 “codeblocks安装路径C:/MinGw/bin/g++.exe”,点击“Finish”;
    • step5
      然后再次点“Configure”;
    • step6
      等走完进度条,选择需要的Generate选项,此处可以不操作直接点“Generate”,走完进度条便生成了“MinGW Makefiles”;
    • step7
      之后用mingw对其进行编译,cmd打开命令提示符窗口,进到刚才的保存目录,这里是“E:/opencv2.4.10/MinGW/Debug”,输入“mingw32-make”,回车;等待运行完毕后,输入 mingw32-make install,回车;(此过程大约需1-2个小时)
    • step8
      运行完毕后便生成了mingw版的OpenCV库,进入“E:/opencv2.4.10/MinGW/Debug/install”文件夹,便可以看到所需的头文件和库文件;
    运行结果

    相关文章

      网友评论

        本文标题:搭建OpenCV开发环境:翻车补救指南(下)

        本文链接:https://www.haomeiwen.com/subject/uuacmxtx.html