昨天裝好的,今天有些細節已經記不起來里,大致寫一下吧。
首先,從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>\n"); return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { printf("No image data \n"); 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