Thresholding an image based on part of a histogram's values

2 vues (au cours des 30 derniers jours)
Teshan Rezel
Teshan Rezel le 12 Juin 2020
Commenté : Teshan Rezel le 18 Juin 2020
Hi folks,
I'm trying to get the parts of an image that fall between 2 values of its grayscale histogram, the revert the image back to its colour form. So far, I am struggling to get anything but a black image! Any ideas on what I'm doing wrong please? Below is my code.
baseGray = rgb2gray(I);
isoLower = 135;
isoUpper = 155;
lessThan = baseGray < isoLower;
greaterThan = baseGray > isoUpper;
baseGray(lessThan) = 0;
baseGray(greaterThan) = 0;
grayThresh = imbinarize(baseGray);
grayThresh = bwareaopen(grayThresh, 3000);
grayThresh = imfill(grayThresh, 'holes');
grayThresh = bwperim(grayThresh);
grayThresh = imdilate(grayThresh, ones(5));
grayThresh = imerode(grayThresh, ones(3));
grayThresh = imfill(grayThresh, 'holes');
refigure = img.*repmat(uint8(grayThresh),[1 1 3]);
imshow(refigure);

Réponse acceptée

Ameer Hamza
Ameer Hamza le 13 Juin 2020
Modifié(e) : Ameer Hamza le 13 Juin 2020
Try something like this
img = im2double(imread('pears.png'));
img_gray = rgb2gray(img);
isoLower = 135/255; % double image, pixel intensity between 0 and 1
isoUpper = 155/255;
mask = (isoLower < img_gray) & (img_gray < isoUpper);
refigure = img;
refigure(~mask(:,:,[1 1 1])) = 0;
imshow(refigure)
  10 commentaires
Image Analyst
Image Analyst le 18 Juin 2020
Why not just try the Color Thresholder on the Apps tab of the tool ribbon and interactively set your thresholds???
Teshan Rezel
Teshan Rezel le 18 Juin 2020
Hi Image Analyst, I've tried the tool and found it useful to a degree. But my issue is that I will need to analyse several batches of 900 images each, so doing them individually in the app would not be efficient. Furthermore, I need to analyse them in grayscale, which isn't an option on the app as far as I can see. Thanks for your suggestion!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by