How to binarize this image?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Nanda Sulthan Estupratama
le 27 Juin 2018
Commenté : Image Analyst
le 7 Juin 2019
hi, I have a code :
image=imread('guava.jpg');
figure
imshow(image)
imR1=image(:,:,1);
imG1=image(:,:,2);
imB1=image(:,:,3);
gray = uint8(0.299*double(imR1) + 0.587*double(imG1) + 0.114*double(imB1));
%opening operation
di = strel('line',50,100);
dilate = imdilate(gray,di);
er = strel('line',50,100);
erode = imerode(dilate,er);
%difference image between opening operation and grayscale
difference_image = double(gray) - double(erode);
figure; % Open up another figure window.
subplot (2,2,1)
imshow(dilate)
subplot (2,2,2)
imshow(erode)
subplot(2,2,3)
imshow(difference_image, []); % Display the difference image.
outputImage = uint8(255 * mat2gray(difference_image));
figure
imshow(outputImage)
the result is like :

I need to transform that image into this one :

they said "convert to binary image". I tried with imbinarize and im2bw, the result is all white. what should I do to get that binary image?
2 commentaires
Réponse acceptée
Image Analyst
le 27 Juin 2018
The image you show is more like a gray scale image. To get a binary image, do this:
rgbImage = imread('original2.PNG');
binaryImage = rgbImage(:,:,1) < 200;
imshow(binaryImage);

3 commentaires
Walter Roberson
le 6 Juin 2019
Zhiyu Xiao comments to Nanda Sulthan Estupratama:
This is a really important question whose answer can be applied to many other things.
Image Analyst
le 7 Juin 2019
It looks like you can just pass Nanda's original low contrast image into imadjust() to get an image with increased contrast.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Image Preview and Device Configuration dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


