How to change white on the outside to black?
1 次查看(过去 30 天)
显示 更早的评论
采纳的回答
DGM
2022-5-19
Some of the objects are connected to the surrounding white blob. You'll need to deal with that. You might be able to do something like:
A = imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1004025/image.png');
A = rgb2gray(A)>127; % binarize
B = imopen(A,ones(3)); % try to break connectivity
B = imclearborder(B); % clear border
B = A & ~B; % difference of original and smoothed copy sans border
B = bwareafilt(B,1); % select only the border object, delete speckles
B = A & ~B; % remove border object from original image
imshow(B)
4 个评论
DGM
2022-5-19
As you've probably already figured out, your working image is probably still a single-channel logical image, whereas the attached PNG file is a uint8-scale RGB image. In that case, the conversion and thresholding isn't necessary unless dealing with a copy like the one attached.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!