MATLAB: How to binarize this image

binarizeimage processingMATLAB and Simulink Student Suite

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?

Best Answer

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);