首頁 > 軟體

樹莓派學習筆記——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
【執行】
./test raspberry.jpg
可執行檔案test和raspberry.jpg應在同一個目錄中。執行結果如下圖所示,說明opencv得以正常執行。
圖1 執行結果
3.總結
    通過原始碼方式安裝opencv更加方便,安裝時間也更短。

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-09/135511.htm


IT145.com E-mail:sddin#qq.com