本文翻译来自官网http://opencv.org/的open-cv安装的tutorials下的installation英文教程installation in linux ,其入门学习教程网站http://docs.opencv.org/master/:
required:GCC 4.4或以上版本、 Cmake 2.6或以上版本
git、GTK+2.x或以上版本、libgtk2.0-dev
pkg-config、python-dev、python-numpy、libavcodec-dev、 libavformat-dev、libswscale-dev
可选的依赖库:libtbb2 libtbb-dev,libdc1394 2.x,libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
方法一:使用git方法:cd 到工作目录-就是你下载open-cv的目录,缺点是网速太慢。
cd ~/
git clone https://github.com/opencv/opencv.git
方法二:直接在官网下载linux版本的open-cv,解压到工作目录,在该目录下创建一个文件夹build用于存放生成的编译文件和工程文件以及目标文件。make 执行后开始编译,sudo make install完成安装。
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. 该命令指定编译的类型为release版本,编译后的安装目录为/usr/local;也可以添加其他的参数如-D WITH_CUDA=OFF,表示CUDA接口不进行编译;注意-D两边分别一个空格,‘..’前有一个空格。
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j8
sudo make install
我们用vim编辑器,不懂vim编辑器的可以简单学习一下,其好处保存后自动生效,无需用source命令。
sudo vim /etc/ld.so.conf
末尾添加/usr/local/lib 保存退出
sudo ldconfig
sudo vim /etc/bash.bashrc
末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
切换到vim命令行模式:qw保存退出
可以在open-cv下建一个文件夹opencv_test,该文件下新建一个cpp文件和txt文件,如下:
DisplayImage.cpp
#include
#include
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}
CMakeLists.txt
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage${OpenCV_LIBS} )
编译
cd
cmake .
make
运行 :该目录下存放一张图片数据,这里给出官网的一张图
终端执行 ./DisplayImage lena.jpg
也可以显示其他目录下的图片,如home目录下的3wolfmoon.jpg
终端执行 ./DisplayImage ~/3wolfmoon.jpg
其他参考文献:
http://blog.csdn.net/zhangxb35/article/details/46973917
http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html
http://lanbing510.info/2014/12/03/Linux-Opencv.htm