多语言展示
当前在线:789今日阅读:23今日分享:31

Linux平台上安装OpenCV

OpenCV是一个基于开源发行的跨平台计算机视觉库,它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
工具/原料
1

Windows7

2

VMware Workstation 12 Pro

3

ubuntu-15.10

4

opencv-3.0.0.zip

一、安装关联库
1

安装编译工具:sudo apt-get install build-essential编译程序有了这个软件,它才知道头文件和库函数在哪,最后才形成一个开发环境。

2

安装 cmake、git、pkg-config等辅助工具:sudo apt-get install cmake git pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev

3

安装关联库:sudo apt-get install python-dev python-opencv python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

二、编译OpenCV
1

从网上下载OpenCV-3.0.0.zip。下载地址:http://opencv.org/downloads.html

2

如果使用虚拟机,最好将OpenCV-3.0.0.zip移动到用户主目录下进行编译,一定不能在虚拟机在Windows系统里的共享文件夹下进行编译,否则会因为文件系统(Windows7的文件系统是NTFS,ubuntu-15.10的文件系统是)不同在编译过程中出错。鄙人在共享文件夹下进行编译,编译进行到%15时报错,我修复后又在编译进行到%21时报错,反正是各种错误,我是没有能力继续修复了......

3

最好将OpenCV-3.0.0.zip移动到用户主目录下进行编译:mv [OpenCV-3.0.0.zip存放路径] ~/opencv_3.0.0.zipunzip opencv_3.0.0.zipcd opencv-3.0.0mkdir releasecd release

5

make命令(-j表示用几个线程来编译,这样可以加快编译速度,不过这个与makefile的质量有关,有的工程用了-j会编译出错):make -j $(nproc)上述命令后一般大约要耗时1个小时,甚至更多,视个人电脑硬件配置而定。执行完以后不要忘了make install:sudo make install

6

如果编译过程出错后想要重新编译,把release目录下的CMakeCache.txt删除掉即可。

三、设置环境变量
1

添加库路径:sudo /bin/bash -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf'

2

更新系统库:sudo ldconfig

四、用cmake进行测试
1

DisplayImage.cpp中的源代码:#include #include using namespace cv;int main(int argc, char** argv){    if ( argc != 2 )    {        printf('[usage]: %s \n', argv[0]);        return -1;    }    Mat image;    image = imread( argv[1], 1 );    if ( !image.data )    {        printf('No image data!\n');        return -1;    }    namedWindow('Display Image', WINDOW_AUTOSIZE );    imshow('Display Image', image);    waitKey(0);    return 0;}

2

CMakeLists.txt中的源代码:cmake_minimum_required(VERSION 2.8)project( DisplayImage )find_package( OpenCV REQUIRED )add_executable( DisplayImage DisplayImage.cpp )target_link_libraries( DisplayImage ${OpenCV_LIBS} )

3

编译命令:cmake .make运行命令:./DisplayImage 01.jpg

五、用make进行测试
1

opencv_test.cpp中的源代码:#include 'cv.h'#include 'highgui.h'#include using namespace std;#define PICTURE './01.jpg'int main(void){    IplImage* img = cvLoadImage(PICTURE, 0);    cvNamedWindow( 'test', 0 );    cvShowImage('test', img);    cvWaitKey(0);    cvReleaseImage( &img );    cvDestroyWindow( 'test' );    return 0;}

2

Makefile中的源代码:CXX          = g++CFLAGS    = -Wall LDFLAGS  = `pkg-config --cflags --libs opencv`SRCS = $(wildcard *.cpp)TARGETS = $(patsubst %.cpp, %, $(SRCS))all:$(TARGETS)$(TARGETS):$(SRCS)    $(CXX) -o $@ $< $(LDFLAGS) $(CFLAGS)clean:    -rm -rf $(TARGETS) *~ .*swp.PHONY: clean all

3

编译命令:make运行命令:./opencv_test代码写得比较简单,所以显示效果是一张黑白图片。

推荐信息