How do I remove blobs connected to border?
조회 수: 5(최근 30일)
I want to remove objects connected to the border of AOI (Area of interest). I'm not sure what I should do to solve this problem. I'm aware of the imclearborder() function, but this only removes objects along the border of the image itself. I want to remove the red rice shown below:
Any tips or advice would greately appreciated. Thank you!
DGM 2022년 11월 15일
편집: DGM 2022년 11월 15일
This is one way. Use the ROI mask to connect the truncated blobs to the image border. Then you can use imclearborder().
% an image
A = imread('rice.png');
% binarize the rice somehow
mkrice = bwareaopen(A>130,100);
% create an ROI mask somehow
ROI = images.roi.Polygon(gca);
ROI.Position = [88 28;41 84;36 159;140 211;228 124;220 28;141 62];
mkroi = createMask(ROI);
% show what we have
% combine the two and discard
mkout = imclearborder(mkrice | ~mkroi);