【OpenCV】 画像から特定パターンを探す
OpenCVの復習が必要になったのでメモしておきます。
// 画像を読み込む UMat source; imread("scene.jpg", CV_LOAD_IMAGE_GRAYSCALE).copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } UMat parts; imread("parts.jpg", CV_LOAD_IMAGE_GRAYSCALE).copyTo(parts); if (parts.empty()) { throw runtime_error("Failed to open image"); } // テンプレートマッチングで場所を特定する UMat result; matchTemplate(source, parts, result, CV_TM_CCOEFF_NORMED); double maxValue; Point point1; minMaxLoc(result, NULL, &maxValue, NULL, &point1); // 特定した場所に四角を書き込む Point point2 = Point(point1.x + parts.cols, point1.y + parts.rows); UMat destination = source.clone(); Scalar color = Scalar(255, 0, 0); int thickness = 2; rectangle(destination, point1, point2, color, thickness); imshow("parts", parts); imshow("source", source); imshow("destination", destination);
さらに進化した画像処理ライブラリの定番 OpenCV 3基本プログラミング
- 作者: 北山洋幸
- 出版社/メーカー: カットシステム
- 発売日: 2016/04
- メディア: 単行本
- この商品を含むブログ (1件) を見る