(再掲)
こんにちは
スキルが無いので資料見ながら苦労しています。
まずやりたいことは,
キネクト等で取得した物体断面画像(長方形物体,傾き有り)の最大長さと幅を取得することです。
opencvのサンプルプログラム
(1)「Square」の”findContours”で輪郭抽出を,
(2)「minarea」の”minAreaRect”で輪郭点群を内包する長方形取得
と考えたのですが,
格納変数が
(1)はvector<vector<Point>>
(2)はvector<Point>
ということでそのままはつかえません。(・・・よね?・・・)
(2)は単純にXYの座標データですが,
(1)は2次元配列で「 検出された輪郭.各輪郭は,点のベクトルとして格納されます.」
とOpenCV 2.2 C++ リファレンスにはありました。
点ベクトルで格納されていると言うことが今ひとつ理解できずにいます。2次元配列の
・1番目の要素は何か?
・2番目の要素は何か?
・格納されているx,yは何か?
わかりやすく解説して頂けると助かります。
併せて,
・上記を実現するためにvector<vector<Point>>をvector<Point>にうまく変換する方法
・他に良い方法があるよ
とかありましたらお願いします。
No.1ベストアンサー
- 回答日時:
……うーんと、自分は OpenCV 全く知らないのですが、関数名で検索した結果以下のページが見つかりました。
Java なんですが。http://blog.goo.ne.jp/nobotta50/e/030481c86ccf27 …
このページ最初の画像の直前のコードを見て C++ に置き換えると、どうも vector<Point> が輪郭一つ分のデータでその中にはその輪郭の頂点が入っている、そして画像内に輪郭は複数あるのが普通だからそれを vector にしてまとめている、ということのようです。
Kinect から画像データを持ってくるという事はノイズやらなんやらで自分の欲しい物体以外の輪郭も混ざると思うので、それらのなかから目的の輪郭を見つける必要があると思います。
そのあたりをどうしたらいいか……ごめんなさい、自分の知識ではここまでです。
回答ありがとうございます
バタバタしてお礼が遅くなりました。すいません
確かに,画像全体の中に複数の輪郭があるのが一般的ですよね。それが2次元配列で表現されている・・。なぜそこに気がつかなかったのか・・不覚。
スッキリしました。
ありがとうございます。
ちなみに
Kinect は,深さ方向でデータをカットすることで所望のデータのみ残るようにしていますので,輪郭を特定する作業はないようにしています。
またよろしくおねがいします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 美術・アート トレパク疑惑をかけられにくくするには ここ最近いわゆるトレパク警察のいいがかりがが厳しくなったようで 1 2023/08/21 09:59
- 数学 面素ベクトルについて質問です 位置ベクトル r↑=(x,y,f(x,y)) とすると ds↑=(∂r 2 2023/03/21 17:17
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- エステ・脱毛・美容整形 鼻フル整形しましたがまだブスです。 豚鼻解消されてうちカメを見てひどいブスだなとは思わなくなったこと 2 2023/06/16 19:14
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- 数学 3次元実ベクトル空間において, 平面 P:x-y+z+1=0 と直線 L:2(x-1)=-y=-z 3 2022/10/29 14:39
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- 大学受験 自己推薦書の添削や意見・アドバイスお願いします 2 2022/08/27 19:34
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのセルの色指定をVBAから...
-
array関数で格納した配列の型を...
-
ExcelのINDEXとMATCH関数でスピ...
-
[VBA]改行入りのセルの値を配列...
-
VBA Dictionaryオブジェクトの...
-
VBA-読み込んだテキストフ...
-
仮想リストコントロールの表示
-
スプレットシートのGetTextにつ...
-
【VBA】配列に格納したデータを...
-
INDEX(D:D,L3)の意味は?
-
Access2010で二次元配列をプル...
-
配列のSession格納、及び取得方...
-
【VBA】ユーザーフォーム リス...
-
Excelで配列数式を使わずにとび...
-
.NET - 配列変数を省略可能の引...
-
Dictionaryを使い4つの条件の一...
-
エクセルでエラーを無視して一...
-
SUMPRODUCT関数を用いた最小値
-
C#で配列のフィールドを取得したい
-
DataSetから、DataTableを取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルの色指定をVBAから...
-
ExcelのINDEXとMATCH関数でスピ...
-
[エクセル]連続する指定範囲か...
-
array関数で格納した配列の型を...
-
表にフィルターをかけ、絞った...
-
エクセルで、絶対値の平均を算...
-
配列がとびとびである場合の書き方
-
[VBA]改行入りのセルの値を配列...
-
Excel オートフィルタのリスト...
-
DataSetから、DataTableを取得...
-
iniファイルのキーと値を取得す...
-
配列のSession格納、及び取得方...
-
エクセルでエラーを無視して一...
-
エクセル 条件を指定した標準...
-
Dictionaryを使い4つの条件の一...
-
読み込みで一行おきに配列に格納
-
.NET - 配列変数を省略可能の引...
-
For Nextマクロの高速化につい...
-
SUMPRODUCT関数を用いた最小値
-
VB6.0 ファイルの一括読込み
おすすめ情報