我使用
La=bwlabel(labeledImage,8); %%% labeledImage is a binary image
figure,imshow(La,[]);
coloredLabel = label2rgb (La, 'hsv', 'k', 'shuffle');
imshow(coloredLabel);
现在我想在 Matlab 中显示(显示)连接的组件(颜色),它们的面积分别小于“7”像素和大于“7”,作为两个不同的图像。有人能帮助我吗。
提前致谢...
我使用
La=bwlabel(labeledImage,8); %%% labeledImage is a binary image
figure,imshow(La,[]);
coloredLabel = label2rgb (La, 'hsv', 'k', 'shuffle');
imshow(coloredLabel);
现在我想在 Matlab 中显示(显示)连接的组件(颜色),它们的面积分别小于“7”像素和大于“7”,作为两个不同的图像。有人能帮助我吗。
提前致谢...
有点棘手,但这是使用以下方法的一种方法regionprops
:
pr = regionprops( La, 'Area', 'PixelIdxList' );
smallArea = La;
small_select = [pr.Area] <= 7; %// select regions smaller than 7 pixels
smallArea( vertcat( pr(~small_select).PixelIdxList ) ) = 0; %// set all other regions to zero
imshow( smallArea ); colormap( rand(max(smallArea(:)), 3) );