Is there a way to clean the image such that the smaller pieces are not included?
1 view (last 30 days)
Show older comments
Teshan Rezel
on 24 Jun 2020
Answered: Puru Kathuria
on 14 Jul 2020
Hi,
I am working on thresholding an image (code included below). The threshold works well but includes several smaller pieces that are not helpful for the final analysis. Is there a way to get rid of these? Thanks in advance!
img = imread('25_04_2018_102541.JPG');
imgGrey = rgb2gray(img);
[counts, ~] = imhist(imgGrey, 255);
T = otsuthresh(counts);
BW = imbinarize(imgGrey, T);
BW = bwareaopen(BW, 3000);
BW = imfill(BW, 'holes');
BW = bwperim(BW);
BW = imdilate(BW, ones(5));
BW = imerode(BW, ones(3));
BW = imfill(BW, 'holes');
img(~BW(:,:,[1 1 1])) = 0;
baseGray = rgb2gray(img);
isoLower = 155;
isoUpper = 170;
mask = (baseGray > isoLower) & (baseGray < isoUpper);
img(~mask(:,:,[1 1 1])) = 0;
Accepted Answer
Puru Kathuria
on 14 Jul 2020
Hi,
I understand what you are trying to achieve, please have a look at this. It might help you filter out the smaller pieces that you dont need.
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!