2021-05-12 14:32:11
樹莓派學習筆記——apt方式安裝OpenCV
2020-06-16 17:32:03
0.前言
本文介紹如何在樹莓派中通過apt方式安裝opencv,並通過一個簡單的例子說明如何使用opencv。相比於原始碼方式安裝opencv,通過apt方式安裝過程步驟簡單些,消耗的時間也少一些。通過apt方式安裝沒有自動生成opencv.pc檔案,所以在編寫makefile檔案時不能直接使用pkg-config工具,而需要逐個指定opencv_core、opencv_imgproc等動態連結庫。
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把彩色圖片轉換為黑白圖片,並把原圖和轉換後的圖片輸出到螢幕中。
#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(argv[1], CV_LOAD_IMAGE_COLOR ); if (argc != 2 || !image.data) { cout << "No image datan"; return -1; } 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】
CC = g++ # 可執行檔案 TARGET = test # C檔案 SRCS = test.cpp # 目標檔案 OBJS = $(SRCS:.cpp=.o) # 庫檔案 DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui # 連結為可執行檔案 $(TARGET):$(OBJS) $(CC) -o $@ $^ $(DLIBS) clean: rm -rf $(TARGET) $(OBJS) # 編譯規則 $@代表目標檔案 $< 代表第一個依賴檔案 %.o:%.cpp $(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
【執行】
通過原始碼方式安裝opencv更加方便,安裝時間也更短。
./test raspberry.jpg
可執行檔案test和raspberry.jpg應在同一個目錄中。執行結果如下圖所示,說明opencv得以正常執行。
圖1 執行結果
3.總結
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-09/135511.htm
相關文章