RaspberryPiでOpenCV開発
RaspberryPi OS【Buster】でOpenCV開発を行うための手順を記録。
標準対応のC++で環境を構築
サンプルソースコード作成
参考資料 → 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