cant seem to make the background fully black
1 view (last 30 days)
Show older comments
I have uploaded two images, one is the original image and the other one is a processed image. i am wondering how can i make the background fully black because i cant seem to make the bottom right fully black in the processed image. i have processed the image by thresholding, binarising and inverting it.
0 Comments
Accepted Answer
Matt J
on 30 Sep 2022
Edited: Matt J
on 30 Sep 2022
A=imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1141370/original.png');
B=imquantize(A,multithresh(A,3));
C=1;
for i=1:4
C=C & ~bwareafilt(B==i,[80000,inf]);
end
imshow(C,[])
2 Comments
Image Analyst
on 1 Oct 2022
If you want the shapes to have their original gray level and class (like uint8 or uint16), instead of being a binary (logical) image, you can use that mask to set the background to zero and leave the original gray levels untouched:
% Blacken background:
A(~C) = 0;
More Answers (2)
Image Analyst
on 30 Sep 2022
Looks a lot like homework. Is it?
What I'd try first is to create a background and then subtract it from the image. You can construct a background by getting the values along the edges, or the corners and then using biliear interpolation, like with interp1 to build the background. Should be easy - try it.
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!