應該很多人會在Linux 安裝 OpenCV的Liberary吧,這也是我第一次玩這個Liberary,其實功能還真的頗強大的說 :)
不過想到Linux 沒有辦法像Windows這樣不斷按 Next 應該很頭痛吧!! 我也不例外 XD
一般來說 Linux 在 OpenCV 的官網會交你怎麼用tarball的方式安裝,我一開始也是這樣,不過後來為瞭解決一些相依問題也搞了很久。
不過後來在Lunchpad找到方便的工具了
https://launchpad.net/~gijzelaar/+archive/opencv2-karmic
1. add repo to apt-get
#sudo add-apt-repository ppa:gijzelaar/opencv2-karmic
2.Install OpenCV Develop kit
#sudo apt-get install libcv-dev libhighgui-dev
基本上這樣安裝完就可以動了(rock)
附上測試程式 (這是一個簡單測試圓的程式)
#ifdef _CH_ #pragma package <opencv> #endif
#define CV_NO_BACKWARD_COMPATIBILITY
#include <cv.h> #include <highgui.h> #include <math.h> int main(int argc, char** argv) { char wndname[] = "circles"; IplImage* img; if( argc == 2 && (img=cvLoadImage(argv[1], 1))!= 0) { IplImage* gray = cvCreateImage( cvGetSize(img), 8, 1 ); CvMemStorage *storage = cvCreateMemStorage(0); cvCvtColor( img , gray , CV_BGR2GRAY ); cvSmooth( gray, gray , CV_GAUSSIAN , 13, 13, 0, 0 );
CvSeq *circles = cvHoughCircles(gray, storage, CV_HOUGH_GRADIENT, 2, gray->height/4, 200, 100); int i; for( i = 0 ; i < circles->total; i++ ) { float *p = (float*)cvGetSeqElem(circles,i); cvCircle( img, cvPoint( cvRound(p[0]), cvRound(p[1])), 3, CV_RGB(0,255,0), -1, 8, 0); cvCircle( img, cvPoint( cvRound(p[0]), cvRound(p[1])), cvRound(p[2]), CV_RGB(255,0,0), 3, 8, 0);
}
cvNamedWindow( wndname , 1 ); cvNamedWindow( "gray" , 1 ); cvShowImage( wndname , img ); cvShowImage( "gray" , gray ); // Wait for a key stroke; the same function arranges events processing cvWaitKey(0); cvReleaseImage(&img); cvReleaseImage(&gray); cvDestroyWindow(wndname); } return 0; }
|
Makefile
FLAGS=-lcxcore -lcv -lhighgui -lcvaux -lml INCPATH=-I/usr/include/opencv LIBPATH= OPTIONS=-lcxcore -lcv -lhighgui -lcvaux -lml
%:%.c g++ $(INCPATH) $(LIBPATH) $(OPTIONS) $^ -o $@
|
(注意g++前面的空白是 <TAB>字元 不是空白)
Make:
#make <程式名稱>
Run:
#./<程式名稱> <圖檔>
如果沒有圖的話,以下附上幾張圖


如果是高手想要用tarball安裝,可以參考以下連結:
Installing OpenCV 2.0 on Ubuntu 9.10 Karmic Koala
HowTo: Install OpenCV in Ubuntu Karmic (9.10)