樹莓派通過apt方式安裝opencv庫


1.安裝opencv

    開始之前進行必要的更新工作。

sudo apt-get update

    安裝opencv。

sudo apt-get install libcv-dev

    安裝過程比較緩慢,請耐心等待。
    安裝完成之后,opencv相關的頭文件被安裝到/usr/lib目錄中,該目錄是linux默認頭文件查找路徑。opencv的相關動態鏈接庫被安裝到/usr/lib目錄中。這些動態鏈接庫包括:
【opencv_calib3d】——相機校准和三維重建
【opencv_core】——核心模塊,繪圖和其他輔助功能
【opencv_features2d】——二維特征檢測
【opencv_flann】——快速最鄰近搜索
【opencv_highgui】——GUI用戶界面
【opencv_imgproc】——圖像處理
【opencv_legacy】——廢棄部分
【opencv_ml】——機器學習模塊
【opencv_objdetect】——目標檢測模塊
【opencv_ocl】——運用OpenCL加速的計算機視覺組件模塊
【opencv_video】——視頻分析組件
 
2.簡單示例
【C++】——通過代碼載入一張圖片,通過opencv把彩色圖片轉換為黑白圖片,並把原圖和轉換后的圖片輸出到屏幕中。
 1 #include <opencv2/core/core.hpp>
 2 #include <opencv2/imgproc/imgproc.hpp>
 3 #include <opencv2/highgui/highgui.hpp>
 4 #include <iostream>
 5 using namespace cv;
 6 using namespace std;
 7 int main (int argc, char **argv)
 8 {
 9     Mat image, image_gray;
10     image = imread(argv[1], CV_LOAD_IMAGE_COLOR );
11     if (argc != 2 || !image.data) {
12         cout << "No image data\n";
13         return -1;
14     }
15    
16     cvtColor(image, image_gray, CV_RGB2GRAY);
17     namedWindow("image", CV_WINDOW_AUTOSIZE);
18     namedWindow("image gray", CV_WINDOW_AUTOSIZE);
19    
20     imshow("image", image);
21     imshow("image gray", image_gray);
22    
23     waitKey(0);
24     return 0;
25 }

【makefile】

 1 CC = g++
 2 # 可執行文件
 3 TARGET = test
 4 # C文件
 5 SRCS = test.cpp
 6 # 目標文件
 7 OBJS = $(SRCS:.cpp=.o)
 8 # 庫文件
 9 DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
10 # 鏈接為可執行文件
11 $(TARGET):$(OBJS)
12  $(CC) -o $@ $^ $(DLIBS)
13 clean:
14  rm -rf $(TARGET) $(OBJS)
15 # 編譯規則 $@代表目標文件 $< 代表第一個依賴文件
16 %.o:%.cpp
17  $(CC) -o $@ -c $<

【簡單說明】

 
DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
示例中使用了opencv中的核心部分、圖像處理部分和GUI部分,所以依次增加opencv_core、opencv_imgproc、opencv_highgui動態鏈接庫。該部分和和【 樹莓派學習筆記——源代碼方式安裝opencv】中的示例稍有不同,前文中的makefile使用LIBS = $(shell pkg-config --libs opencv)引入所有的opencv動態鏈接庫,此處手動指定相關庫按需鏈接。
 

【編譯】

make
【執行】
 
./test raspberry.jpg
可執行文件test和raspberry.jpg應在同一個目錄中。運行結果如下圖所示,說明opencv得以正常運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM