前提・実現したいこと
プログラミング初心者です。
????????〘日本国旗〙の赤円の座標が知りたいです。
ここに質問の内容を詳しく書いてください。
想像でこんなこと出来たら良いなと思って問題を作ってみました。
日本国旗である必要はないですが、ある画像から一部の画像の座標の求めること(?)の一例として取り上げさせていただきました。説明が下手で申し訳ないです。
画像は????????日本国旗(kokki.jpg)、赤円(en.jpg)があると仮定します。
全くの初心者で申し訳ないですが、お付き合いいただけたらと思います。
〘調べてわかったこと〙
openCVのマッチングを使う。!
発生している問題・エラーメッセージ
そもそもプログラム構成前
```#include <cv.h> #include <highgui.h> int main (int argc, char **argv) { double min_val, max_val; CvPoint min_loc, max_loc; CvSize dst_size; IplImage *src_img, *tmp_img, *dst_img; if (argc != 3 || (src_img = cvLoadImage (argv[1], CV_LOAD_IMAGE_COLOR)) == 0 || (tmp_img = cvLoadImage (argv[2], CV_LOAD_IMAGE_COLOR)) == 0) return -1; // 探索画像全体に対して,テンプレートのマッチング値(指定した手法に依存)を計算 dst_size = cvSize (src_img->width - tmp_img->width + 1, src_img->height - tmp_img->height + 1); dst_img = cvCreateImage (dst_size, IPL_DEPTH_32F, 1); cvMatchTemplate (src_img, tmp_img, dst_img, CV_TM_CCOEFF_NORMED); cvMinMaxLoc (dst_img, &min_val, &max_val, &min_loc, &max_loc, NULL); cvRectangle (src_img, max_loc, cvPoint (max_loc.x + tmp_img->width, max_loc.y + tmp_img->height), CV_RGB (255, 0, 0), 3); cvNamedWindow ("Image", 1); cvShowImage ("Image", src_img); cvWaitKey (0); cvDestroyWindow ("Image"); cvReleaseImage (&src_img); cvReleaseImage (&tmp_img); cvReleaseImage (&dst_img); return 0; } コード
試したこと
上記のものを使えば解けるのでしょうか…というところで止まってます。
補足情報
何か補足しなければならないことがありましたらご連絡ください。
あなたの回答
tips
プレビュー