Upgrade to Pro — share decks privately, control downloads, hide ads and more …

nekoIoTLT_SearchBlackObject

NearMugi
October 21, 2020

 nekoIoTLT_SearchBlackObject

NearMugi

October 21, 2020
Tweet

More Decks by NearMugi

Other Decks in Technology

Transcript

  1. 1. ESP32+カメラで撮影、GoogleCloudStorage(GCS)へ画像をアップロードする 2. GCSに画像がアップロードされたイベントをトリガーに Cloud Pub/Subからメッセージが 送信される 3. Node-REDフロー内でCloud Pub/Subのメッセージを受信する

    4. 画像をGCSから取得して解析する 5. 黒い物体を検知したとき、 LINEに通知する 手順の詳細 GoogleCloudStorage Cloud Pub/Sub GoogleComputeEngine メッセージ受信 画像取得 解析 通知
  2. 黒い物体の検知方法 -関数の説明(adaptiveThreshold) 元画像 void adaptiveThreshold(const Mat& src, Mat& dst, double maxValue,

    int adaptiveMethod, int thresholdType, int blockSize, double C) 定数Cを変化させることで、白黒の範囲を調整できる C:10 白黒割合:0.29 C:20 白黒割合:0.23 C:30 白黒割合:0.18 C:40 白黒割合:0.13 C:60 白黒割合:0.06 C:70 白黒割合:0.04 C:80 白黒割合:0.03 C:90 白黒割合:0.02 C:50 白黒割合:0.09 ここらへんがちょうど良い
  3. 黒い物体の検知方法 -関数の説明(findContours, contourArea) void findContours(const Mat& image, vector<vector<Point> >& contours, int

    mode, int method, Point offset=Point()) double contourArea(const Mat& contour) 輪郭を検出すると細かい部分も含まれてしまうので、面積の大きさから判断する 元画像に輪郭を検出したデータを合成したもの 面積の大きさにしきい値を設けたもの