1.先安裝依賴項
OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安裝cmake。
sudo apt-get install build-essential sudo apt-get install cmake sudo apt-get install libgtk2.0-dev sudo apt-get install pkg-config sudo apt-get install python-dev python-numpy sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev
2.下載編譯opencv
wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.13/opencv-2.4.13.zip/download opencv-2.4.13.zip
解壓以后,在其目錄中創建一個文件夾build,進入該文件夾, 使用cmake工具在該文件夾中生成makefile文件,指定opencv的安裝目錄為/usr/local,opencv的源代碼位於上一層目錄。
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make #非常慢
最后
sudo make install #更新搜索動態鏈接庫 sudo ldconfig
3. 測試
//讀取一張圖片,轉化成黑白的 #include <opencv2/core/core.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> using namespace cv; using namespace std; int main (int argc, char **argv) { Mat image, image_gray; image = imread("1.jpg"); cvtColor(image, image_gray, CV_RGB2GRAY); namedWindow("image", CV_WINDOW_AUTOSIZE); namedWindow("image gray", CV_WINDOW_AUTOSIZE); imshow("image", image); imshow("image gray", image_gray); waitKey(0); return 0; }
需要寫makefile文件:
#頭文件 INCLUDE = $(shell pkg-config --cflags opencv) #擴展庫 LIBS = $(shell pkg-config --libs opencv) # 目標文件 SOURCES = test.cpp # 可執行文件 OBJECTS = $(SOURCES:.cpp=.o) TARGET = test $(TARGET):$(OBJECTS) g++ -o $(TARGET) $(OBJECTS) -I $(INCLUDE) $(LIBS) $(OBJECTS):$(SOURCES) g++ -c $(SOURCES) clean: rm $(OBJECTS) $(TARGET) # 編譯規則 $@代表目標文件 $< 代表第一個依賴文件 %.o:%.cpp g++ -I $(INCLUDE) -o $@ -c $<
注意:可執行動作前是Tab不是空格!
PS:2.4.10安裝在raspberry pi3 上make時報錯,而2.4.13沒有問題
參考:http://blog.csdn.net/xukai871105/article/details/40988101