昨天装好的,今天有些细节已经记不起来里,大致写一下吧。
首先,从opencv官网下载linux的opencv-2.4.9安装包,下载地址:http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip
然后,由于下载的是一个zip压缩包,所以要装一个rar解压软件,下载地址:http://www.rarsoft.com/rar/rarlinux-x64-5.1.1.tar.gz
rar安装命令:
#tar -xzvf rarlinux-x64-5.1.1.tar.gz #cd rar//解压出来的文件夹名称是rar,可用ls查看 #make #make install
然后,直接
#rar x opencv-2.4.9.zip
#cd opencv-2.4.9
#cmake CMakeLists.txt //注意Cmake要用新版本的,不然会编译不过
#make
#make install
注意:这里我之前系统的Cmake版本为2.3的,编译不通过一直报错:
cc1plus: 警告:命令行选项“-Wmissing-prototypes”对 Ada/C/ObjC 是有效的,但对 C++ 无效
cc1plus: 警告:命令行选项“-Wstrict-prototypes”对 Ada/C/ObjC 是有效的,但对 C++ 无效
经过一番查找终于发现,是Cmake版本过低,然后下载安装的Cmake3.0.2下载地址:http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.gz
安装Cmake3.0.2要求要用Cmake2.6以上版本才能编译,我现在的版本居然依然是无法安装,正郁闷的时候发现了一根救命稻草:
Cmake文件夹里边有一个bootstrap 文件,直接
#./bootstrap
#make
#make install
即可完成安装。
测试程序:
源程序 DisplayImage.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> "); return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { printf("No image data "); return -1; } namedWindow("Display Image", CV_WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0; }
Cmake文件 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 <DisplayImage_directory> #cmake . #make
执行结果:
#./DisplayImage lena.jpg