Linux环境下的opencv的配置和测试程序

问题描述:

近期做实验,需要在Ubuntu配置好opencv的环境。以前都是在win下开发的,这次主要记录下成功配置的步骤以及测试成功的代码。

步骤:

1、下载opencv的linux版本的安装包。解压到某一个位置。

2、安装一些必要的依赖。

sudo apt-get install libgtk2.0-dev pkg-config

一些教程上也列举了其他依赖项。但是我只安装了上述两个就成功了。

3、安装g++,make等工具

sudo apt-get install build-essential

4、安装cmake工具

sudo apt-get install cmake

5、进入opencv根目录,执行

cmake .

6、编译

sudo make

7、安装

sudo make install

遇到的问题:

error:inconsistent operand constraints in an 'asm',如下图

Linux环境下的opencv的配置和测试程序_第1张图片

方法1(我没有验证成功):

解决参考网址:https://github.com/Itseez/opencv/commit/ea50be0529c248961e1b66293f8a9e4b807294a6

这个问题我在不同的机器上同时安装,只有一个出现了编译错误。然后我按照上述网址的方法修改,依然没有成功。

方法2:我用Ubuntu14.04+opencv2.4.10可以正常编译运行。但是用Ubuntu13.10+opencv2.4.10编译就出现了上述问题,后来想办法成功编译后,运行一些程序也是有错的。

于是,我尝试了Ubuntu13.10+opencv2.4.9,发现可以成功编译并且执行。得出结论,opencv的版本更新可能依赖于具体的Linux版本,可以尝试不同的opencv版本。

opencv测试

在某路径下新建cv.cpp,内容如下:

// using lib: -l opencv_core -l opencv_highgui
#ifdef OPENCV_v1
// if you're using version 1
#include "highgui.h"
#else
// or you can include "opencv2/highgui/highgui.hpp" "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"
#endif
#include 

#define Usage() \
        { std::cerr << "Usage: ./showpic FILE" << std::endl; }
//using namespace cv;
int main(int argc, char** argv)
{
        if (argc != 2) Usage();
        IplImage* img = cvLoadImage(argv[1]);
        cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);

        cvShowImage("Example1", img);
        cvWaitKey(0);

        cvReleaseImage(&img);
        cvDestroyWindow("Example1");
}

同时需要一张图片放在相同目录下。假设图片命名为img.jpg。终端下执行:

g++ cv.cpp `pkg-config --libs --cflags opencv`
./a.out ./img.jpg

 
  

输出效果:

Linux环境下的opencv的配置和测试程序_第2张图片

参考网址:

http://blog.csdn.net/xiaojidan2011/article/details/39205309

http://blog.csdn.net/dxmgood/article/details/7050558

http://www.douban.com/note/478450231/

欢迎登陆我的个人主页,hello2019,查看原文:http://richardliu.cn/

你可能感兴趣的:(opencv)