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

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

新規登録して質問してみよう
ただいま回答率
85.49%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

3281閲覧

OpenCV findContours() の出力値 hierarchies の意味

vibrato

総合スコア52

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/12/13 17:41

下の一行はこちらの「チュートリアル」から抜粋したものですが、

python

1image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

出力値の一つ** hierarchy **これの値の意味を詳しく知りたいと考えております。

上のチュートリアルとは別に
こちらの「QRコードの検出(github)」のコードを参考にQRコードの仕組みについて勉強しています。
そのgitコードで適当なQRコード画像をインプットとして、動作させたところ
** hierarchy **の値が下記のようになりました。

[[[ 1 -1 -1 -1]
[ 2 0 -1 -1]
[ 3 1 -1 -1]
...
[-1 36 38 -1]
[-1 -1 39 37]
[-1 -1 -1 38]]]

gitコード中にも下記のようなヒント

python

1for hierarchy in hierarchies: 2 for i, h in enumerate(hierarchy): 3 next_cnt, prev_cnt, first_child, parent = h # ←---------ここ! 4 if not (first_child == -1 and parent != -1): 5 continue 6 root_index = _find_root_node(hierarchy, i, 3) 7 if root_index != -1 and not (root_index in candidates): 8 candidates.append(root_index)

があり、

next_cnt,  prev_cnt,  first_child,  parent

この4つがそれぞれの要素に対応していることはなんとなくわかるのですが、理解できるまでには至りませんでした。
質問トップのチュートリアルページにも** hierarchyの値 **について詳しく書かれている部分は無いようでしたので、現在手詰まりとなっております。

是非ご教授のほどよろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

公式の説明は、
http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_contours/py_contours_hierarchy/py_contours_hierarchy.html
にあります。
ものすごく詳しくかつ精確に書かれているので、そちらを読んだほうが一番理解が進むかと思われます。

そちらを読んでもご不明な点があれば追記していただければ。

投稿2017/12/13 18:50

mkgrei

総合スコア8560

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

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

vibrato

2017/12/15 12:32

回答ありがとうございます。 何となくではありますが、それぞれが何を表しているのかを理解することは出来ました!! ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問