Segmenting an image according a threshold
Afficher commentaires plus anciens
Say that I have a grayscale image, which values range from `[0,255]`. Say that I want the pixels which values are larger than or equal to `66` for instance to be `white`, and the rest pixels to be `black`. How can I do that in `MATLAB`?
Thanks.
Réponses (2)
Image Analyst
le 30 Oct 2013
Modifié(e) : Image Analyst
le 30 Oct 2013
The easiest way by far, is to simply threshold:
binaryImage = grayImage >= 66;
Ashish's method doesn't create black pixels, and Kevin's is inefficient. My fast and efficient method will create a binary image which is used in virtually all processing afterwards, such as labeling, morphology, regionprops, hole filling, etc.
Kevin Claytor
le 30 Oct 2013
thresh = 66;
I(I < thresh) = 0;
I(I > thresh) = 255;
1 commentaire
Ashish Uthama
le 30 Oct 2013
Modifié(e) : Ashish Uthama
le 31 Oct 2013
[Edit, I meant to correct Kevin's code, pointing out the need for >=]
I(I >= thresh) = 255;
Catégories
En savoir plus sur Image Segmentation dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!