MATLAB: How to separate the white pixel data from binary image

digital image processingimage acquisitionImage Acquisition Toolboximage analysisimage processingImage Processing Toolboximage segmentationMATLAB

Basically, I applied thresholding using Otsu's method and it gave me the below image.
I want to separate the white pixel data from this binary image and convert it back to the rgb image for further use.
How do I separate the white pixels?
otsu.PNG

Best Answer

I want to separate the white pixel data from this binary image and convert it back to the rgb image for further use.
What I undestood (and certainly sure), you want to mask the binary image on RGB Image. No need to ectract the white pixels from Binary Image (just index position of white pixels is sufficient). You can directly apply it on RGB Image. In the following example, forced the pixels to those in RGB Image, where mask (Binary Image) represents as white pixels.
RGBImage=imread('image_test.jpg'); % This RGB Image
subplot(131),imshow(RGBImage),title('RGB Image');
grayImage=rgb2gray(RGBImage);
bwImage=im2bw(grayImage,0.7); % This is your Result of Otshu Thresholding
subplot(132),imshow(bwImage),title('Binary Image-Mask');
% Apply the Mask (Binary Image) on RGB
mask=cat(3,bwImage, bwImage,bwImage);
% Force all those pixels to Black, where white pixels represent in Binary Image
RGBImage(mask)=0;
subplot(133),imshow(RGBImage),title('RGB with Black White Mask Area');
test_im.png
Hope it helps!