0

長さ/幅の比率がしきい値を超えているオブジェクトを省略したいバイナリ イメージがあります。以下のコードを使用して、オブジェクトのいくつかのプロパティを抽出しました。

labeledImage = bwlabel(my_image, 8);
regioninfo = regionprops(labeledImage,'MajorAxisLength','MinorAxisLength','PixelIdxList');
lengths = [regioninfo.MajorAxisLength];   %array
widths = [regioninfo.MinorAxisLength];    %array
logidx = (lengths ./ widths) < threshold;
extracted_objs = regioninfo(logidx);      % 24*1 structer

PixelIdxList 値を正確に使用して残りの部分を表示する方法を知る必要がありますか??

前もって感謝します

4

1 に答える 1

0

繰り返しますが、私自身の質問に答えています...別の場所で答えを見つけました! 私のような必要がある人のためにここに置いてください:

labeledImage = bwlabel(my_image, 8);
regioninfo = regionprops(labeledImage,'MajorAxisLength','MinorAxisLength','PixelIdxList');
figure,vislabels(labeledImage ),title('Visualized labels of connected components');
lengths = [regioninfo.MajorAxisLength];   %array
widths = [regioninfo.MinorAxisLength];    %array
logidx = (lengths ./ widths) < threshold;
Keeper_Indexes=find(logidx);
Keeper_Building_Image=ismember(labeledImage,Keeper_Indexes);
figure,imshow(Keeper_Building_Image);title('thresholded image by Ratio');
于 2013-09-19T07:01:13.593 に答える