2017-03-01 4 views
-1

グレーのイメージから、bwconcompを使用してすべての接続コンポーネントを抽出しようとしました。私は元のイメージのサイズをいくつかの特定の接続されたコンポーネントで新しいイメージを描画します。私はこの領域に基づいた多くの作品を見ましたが、私にとっては、接続されたコンポーネントをフィルタリングする新しいパラメータがあります。元の画像サイズで新しい画像を元の場所に描画するにはどうすればよいですか?? ありがとうございました:)specefic接続されたコンポーネントのみを保存

+0

を選択することで、一緒にマップを組み合わせることにより、複数の連結成分を組み合わせることができます特定の接続コンポーネントは?答える前にそれを知る必要があります。 – rayryeng

+0

この質問は私には分かりません。あなたは、例のコードと希望の結果の例を挙げることができますか? – Poelie

+0

'bwconncomp'ための[ドキュメント](https://www.mathworks.com/help/images/ref/bwconncomp.html#bu2xeh0-1)は、画像から特定の成分を除去する方法の例を含みます。これに基づいて新しいイメージにコンポーネントを追加するのは簡単です。 – beaker

答えて

0

私が正しくあなたを理解していれば、あなたが接続されているコンポーネントのラベルされたマップを取り、個別に各コンポーネントに何かをしたいです。

finding array elements that meet a conditionでこれを行うことができます。

は、あなたがコンポーネントのラベルが付いていると仮定し、そのようなあなたの行列は、 mylabels

1 1 1 2 2 2 
1 1 3 3 3 2 
1 3 3 3 4 4 
5 5 5 5 4 4 

は、特定の領域、例えば3を選択使用することをちょうど領域3のマップを生成します

regionA = (mylabels == 3); 

このように:

0 0 0 0 0 0 
0 0 1 1 1 0 
0 1 1 1 0 0 
0 0 0 0 0 0 

このマップをマスクとして使用することができます元画像の電子特定の部分:

subimage = image .* regionA; 

あなたはどのようにして「選択」ん

regionAB = regionA | regionB; 

または複数のラベルに

regionAB = (mylabels == 3 | mylabels == 4); 
+0

こんにちは、あなたの返信、接続されたコンポーネントのラベルを知る方法をありがとう? L = 1 :CC.NumObjects (sthing)場合は、この接続コンポーネント他 を保つが、それに 端端を削除 – user3967257

関連する問題