下载 OpenCV 3.1
登录网站 OpenCV.org 下载OpenCV 3.1。
下载Required Packages
[compiler]:build-essential
[required]:cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional]:python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
在此处我使用的是aptitude
进行安装的,因为在使用apt-get
时经常出现依赖问题,我也不会解决,使用aptitude
时,出现依赖问题时会更好更方便的解决。
sudo aptitude install build-essential
sudo aptitude install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo aptitude install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
使用CMake编译源码
将下载下来的源码解压后,在opencv文件夹内创建一个新的release目录,存放编译的文件。
进行编译
cd ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
结束后如下:
再 make:
make
结束后如下:
最后Install:
sudo make install
即完成安装!
测试
首先编写cpp文件:
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
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;
}
创建一个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} )
生成
cd ~/Documents/cpp文件的目录
cmake .
make
执行:
./DisplayImage lena.jpg
Lean:
到现在为止,应该是可以使用了。
总结
整体一路下来就一开始出问题了,安装包的依赖问题,一开始使用的是apt-get
,折腾了很长时间没解决,一些pkg装不上。后面使用aptitude
后,他自动将一些pkg降级,省了很多事情,也一会儿就全部装上了,后面编译安装执行就没再出现什么问题了。
References
【1】:OpenCV 官方文档–Installation in Linux
【2】:OpenCV 官方文档–Using OpenCV with gcc and CMake