バイナリイメージ(MATLAB)のさまざまな部分にラベルを付けるために、接続コンポーネントラベリングアルゴリズム(bwconncomp)を使用しました。今私は別のラベルの領域を計算し、より小さい領域でラベルを削除する必要があります。私はデフォルトのエリアコマンドを見つけるか、MATLABでそのための具体的なコマンドがありますを使用することができます...助けて...イメージの領域を見つける
答えて
CC = bwconncomp(BW)が見つかり連結成分CCを返します。 BWで バイナリイメージBWは任意の次元を持つことができます。
[A] 1行NumObjectsセルアレイ内のk番目の要素:CCは 四つのフィールド...
CCの最後のフィールドがある、
PixelIdxList
あると構造でありますセル配列は、k番目のオブジェクトのピクセルの線形インデックスを含むベクトル です。
セル配列内の対応するエントリの長さを調べると、各ラベルの領域を見つけることができます。以下のようなもの:
areas_in_pixels = cellfun(@length, CC.PixelIdxList);
PixelIdxListは、連結成分内に存在するピクセルの線形インデックスを含む各部材れたセルアレイです。上のコード行は、セル配列内の各セルの長さ、つまり、接続された各コンポーネントのピクセル数を検出します。
私はcellfun
を使用してコードを短く効率的に保ちました。同じことを書いている別の方法は、のようになります。各連結成分に対して
areas_in_pixels = nan(1, length(CC.PixelIdxList);
for i = 1:length(CC.PixelIdxList)
areas_in_pixels(i) = length(CC.PixelIdxList{i});
end
、あなたはその後、areas_in_pixelsの要素にアクセスすることにより、ピクセル単位でそのコンポーネントのサイズを見つけることができます。
areas_in_pixels(34) %# area of connected component number 34
あなたは少し精巧にできますか?関数? – meena
私はもう少し詳しく説明しました。これは関数の意味ですか? –
上記のようなコードをたくさん書いたくない場合は、MATLABの組み込み関数を使って領域を検出してください。コンポーネントにラベルを付け、コンポーネントのプロパティから、そのコンポーネントの領域を見つけることができます。あなたは、次のとループのために回避することにより、まだこれよりよくすることができます
[B,L] = bwboundaries(Bw,'noholes');
stats = regionprops(L,'Area','perimeter');
for k = 1:length(B)
area(k)=stats.Area;
end
あなたの答えをありがとう.. :) – meena
+1これはあなたがそれをやるべきである方法です。 –
:
[B,L] = bwboundaries(Bw,'noholes');
stats = regionprops(L,'Area','perimeter');
area = [stats.Area];
ベスト、 -Will
- 1. D3:d3のジオポリゴンの領域を見つける
- 2. 特定の領域内の輪郭を見つける
- 3. Matlab:バイナリ領域の長軸を見つける
- 4. イメージテンプレートの記憶領域を見つける方法は?
- 5. gmaps - 可視領域内の場所を見つける
- 6. Python OpenCV - バイナリイメージの黒い領域を見つける
- 7. (C#で)2つの矩形の重複領域を見つける
- 8. MATLABを使用してイメージ内の赤い領域の位置を見つける方法は?
- 9. 領域成長イメージが
- 10. MATLAB画像処理でマークされた領域の領域を見つけよう
- 11. 類似した色の領域を見つけるのにImagemagickを使う
- 12. カラー領域の境界を見つけるアルゴリズムを探しています
- 13. 2次元の長い領域の中心線を見つける方法
- 14. jQueryウィザードでイメージの領域を選択
- 15. GDBは与えられたメモリ領域のポインタを見つける
- 16. opencvで画像間の重複領域を見つける方法は?
- 17. SQL Serverデータベースの空き領域を見つける最も良い方法は?
- 18. はそれで領域を見つけ、2次元配列を考えると
- 19. 任意の領域に制限をつけて2次元空間内の有効な点を見つける
- 20. Blackberry - コードからデバイス上の空き領域を見つけ出す方法
- 21. イメージマップ内の領域に境界線をつける
- 22. 2つの異なるマップビュー領域を比較してその違いを見つける方法
- 23. イメージを見つけるsrc that:contains?
- 24. イメージ内の最小エネルギー領域を検出する方法
- 25. イメージを複数の領域に分割する
- 26. MATLABを使用して円内に含まれる任意の形状の領域を見つける方法
- 27. RegionManager例外領域が見つかりません
- 28. pythonでopencvを使ってイメージ領域をコピーするには?
- 29. イメージに余分な領域を追加するPython
- 30. 回転イメージ領域を取得する方法は?
この[リンク](HTTPと仮定BWは、バイナリイメージです://blogs.mathworks.com/steve/2009/02/27/using-ismember-with-the-output-of-regionprops/)は、私が実際に探しているものです。ありがとうございます。 – meena