質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

1回答

7314閲覧

cv::contourAreaで輪郭抽出した後,抽出した輪郭内の重心座標の求め方について

eagleowl

総合スコア7

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2016/08/17 04:57

OpenCVを利用して入力画像中の輪郭をcv::contourAreaで抽出しています.条件を付けて四角形のみを抽出するようにしています.
質問ですが輪郭抽出した四角形の端点を知るにはどうしたらいいのでしょうか?
端点である4点座標を知ることができれば重心座標を求められるので,端点の座標が知りたいです.
どなかご教授をよろしくお願いします.

ソースコード

for (auto contour = contours.begin(); contour != contours.end(); contour++){ std::vector< cv::Point > approx; cv::approxPolyDP(cv::Mat(*contour), approx, 10.0, true); double area = cv::contourArea(approx); if (approx.size() == 4 && 1000.0< area){ cv::polylines(frame, approx, true, cv::Scalar(255, 0, 0), 2); } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

OpenCVはわからんけど、cv::polylines()にapprox渡して矩形を描いているんだから、approxのナカミが各頂点なんじゃないですか?

投稿2016/08/17 05:28

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

eagleowl

2016/08/17 06:25

approxの中身はC++でどのように見ることができるのでしょうか? よろしくお願いします.
episteme

2016/08/17 08:04 編集

for ( int i = 0; i < approx.size(); ++i ) {  cv::Point p = approx[i];  cout << p.x << ',' << p.y << endl; } みたいな。
eagleowl

2016/08/27 04:53

ご回答ありがとうございます.解決することができました.
episteme

2016/08/29 22:37

解決したんならcloseしろよ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問