0

いくつかの分離された領域を含むバイナリ イメージがあります。これらの領域が占める領域 (ピクセル数) にしきい値を設定したいと思います。しきい値よりもピクセルが少ない場合、領域は省略されます。私はすでにこれらのコードを試しました(を使用bwconncomp):

[...]
% let's assume threshold = 50
CC = bwconncomp(my_image);
L = labelmatrix(CC); 
A = cell( size(CC.PixelIdxList,1) , size(CC.PixelIdxList,2) );
A = CC.PixelIdxList;
for column = 1 : size(CC.PixelIdxList,2)
   if numel(CC.PixelIdxList{column}) < 50, A{column} = 0;
   end
end

しかし、この時点では、セルCを画像の形状に変換して表示する方法がわかりません! それを行うためのトリックはありますか?

ここで使用した方法よりも、画像内のオブジェクトに関する情報を取得する簡単でストレートな方法はありますか?

これらのオブジェクトの長さと幅も知る必要があります。これらのオブジェクトは、必ずしも特定の幾何学的形状を持っているわけではありません!

ありがとう

4

1 に答える 1

0

ここでは誰も私の質問に答えようとしなかったので、別の場所で見つけました。私のような初心者がそれを知る必要がある場合に備えて、ここにコピーしています。

画像内のオブジェクトの長さと幅を知るには:

labeledImage = bwlabel(my_image, 8);
regioninfo = regionprops(labeledImage , 'MajorAxisLength', 'MinorAxisLength');
lengths = [regioninfo.MajorAxisLength];   %array
widths = [regioninfo.MinorAxisLength];    %array
于 2013-09-18T18:49:22.797 に答える