【OpenCV】 画像のコーナーを検出する
OpenCVの復習が必要になったのでメモしておきます。
// グレースケールで画像を読み込む UMat source; imread("lenna.jpg", CV_LOAD_IMAGE_GRAYSCALE).copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } // 画像のコーナーを検出する int maxCorners = 30; // 検出するコーナーの最大数 double qualityLevel = 0.01; // コーナーの最低品質 double minDistance = 20.0; // 出力されるコーナー間の最小ユークリッド距離 vector<Point2f> corners; goodFeaturesToTrack(source, corners, maxCorners, qualityLevel, minDistance); // 検出したコーナーを書き込む UMat destination = source.clone(); int radius = 8; Scalar color = Scalar(255, 255, 0); int thickness = 2; for (int i = 0; i < corners.size(); ++i) { circle(destination, corners[i], radius, color, thickness); } imshow("source", source); imshow("destination", destination);
さらに進化した画像処理ライブラリの定番 OpenCV 3基本プログラミング
- 作者: 北山洋幸
- 出版社/メーカー: カットシステム
- 発売日: 2016/04
- メディア: 単行本
- この商品を含むブログ (1件) を見る