2017-05-20 23 views
0

私は輪郭をnumpy配列のマスクに変換する効率的な方法はありますか?たとえば、2つの等高線がドーナツ形状を表す場合、1つは内側の等高線、もう1つは外側の等高線です。私は何とかそれを配列の中に入れて、ドーナツ形になる要素をTrueまたは1、その他の要素をFalseまたは0としてマークすることができます。scikit-imageの輪郭をnumpyの配列マスクに変換する効率的な方法はありますか?

opencvでこれを行う方法が見つかりました。しかし私はscikitのイメージで同じことをすることができるかどうか疑問に思っていますか?

[編集]:輪郭がタプルのリスト(X、Y)として格納さ

感謝。

+0

あなたがDIM-2配列を意味する輪郭によって場合(関数meshgridの場合と同様)は、アレイがnumpyの経由DIM-1配列であることを再形成することができます。 – mikey

+1

例が助けになりますが、私はラベルとregionpropsによってあなたが望むものが達成できると思います。 –

答えて

-1

scikit画像ツールgrid_points_in_polyはかなり効率的にこの問題を解決し、効率的にマスクに輪郭から手放す必要があります。指定したグリッド上の点が多角形の内側にあるかどうかを

skimage.measure.grid_points_in_poly(shape, verts) 

をテストします。グリッド、すなわち(0,0)、(0,1)等の各グリッド上の (r、c)座標について、 がポリゴンの内側にあるかどうかをテストします。

http://scikit-image.org/docs/dev/api/skimage.measure.html#skimage.measure.grid_points_in_poly

+0

解決策へのリンクは歓迎ですが、あなたの答えがそれなしで役に立つことを確認してください:[リンクの前後にコンテキストを追加](// meta.stackexchange.com/a/8259)あなたの仲間のユーザーは、なぜそれがあるのか​​、ターゲットページが利用できない場合にリンクしているページの最も関連性の高い部分を引用します。 [リンクよりも少しだけ回答が削除される可能性があります。](// stackoverflow.com/help/deleted-answers) – geisterfurz007

+0

このリンクは質問に答えるかもしれませんが、ここでは答えの重要な部分を含めることをお勧めします参照のためのリンク。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューから](/レビュー/低品質の投稿/ 19026587) –

関連する問題