Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

RaspberryPiでOpenCV開発

RaspberryPiでOpenCV開発

RaspberryPi OS【Buster】でOpenCV開発を行うための手順を記録。
標準対応のC++で環境を構築

OpenCVのインストール

下記のコマンドを実施

pi@raspberrypi:~ $ sudo apt-get install libopencv-dev

サンプルソースコード作成

参考資料 → https://qiita.com/vs4sh/items/4a9ce178f1b2fd26ea30

#include <opencv2/opencv.hpp>

int main(int argh, char* argv[])
{
    cv::VideoCapture cap(0);//デバイスのオープン
    //cap.open(0);//こっちでも良い.

    if(!cap.isOpened())//カメラデバイスが正常にオープンしたか確認.
    {
        //読み込みに失敗したときの処理
        return -1;
    }

    cv::Mat frame; //取得したフレーム
    while(cap.read(frame))//無限ループ
    {
        //
        //取得したフレーム画像に対して,クレースケール変換や2値化などの処理を書き込む.
        //

        cv::imshow("win", frame);//画像を表示.
        const int key = cv::waitKey(1);
        if(key == 'q'/*113*/)//qボタンが押されたとき
        {
            break;//whileループから抜ける.
        }
        else if(key == 's'/*115*/)//sが押されたとき
        {
            //フレーム画像を保存する.
            cv::imwrite("getcam.jpg", frame);
        }
    }
    cv::destroyAllWindows();
    return 0;
}

コンパイル

pkg-configコマンドで、コンパイル情報を取得している。
Makeファイル化するなどしてよしなに。

pi@raspberrypi:~ $ g++ -o hoge.exe hoge.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv`

実行

カメラ映像がGUIのWindowに表示される。
Windowがアクティブな状態で、キーボードの「s」を叩くと写真撮影。
プログラムが配置されているフォルダにgetcam.jpgが作成される。

pi@raspberrypi:~ $ hoge.exe