Clear Filters
Clear Filters

how to converts a gray scale image (All pixels from 0 to 255) to a black and white image (All pixels either 0 or 1)?

1 view (last 30 days)
this my given code, and I want to complete it by one of clustering methods :
please read the code, and give me the complementary code.
thanx in advance..
% read image matrix from file
Img=imread('C:\Users\sony\Desktop\fp.png');
% convert to gray scale (remove color info)
Img = rgb2gray(Img);
% show the fingerprint image in a window
figure(1); imshow(Img);
% convert image data to double precision format
ImgD=double(Img);
% convert matrix data to single column vector format
% namely arrange all numbers in the matrix as a single column vector
grades=ImgD(:);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% THIS IS YOUR BEGINNING OF HOMEWORK OR EXAM OR PROJECT ...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% DO YOUR CLUSTERING HERE !
% For illustrative purposes, I compute the median, and use it to decide pass
% or fail. But you should do clustering and decide about the threshold !
t = median(grades);
% This selection will not result a good B&W image at the end.
% Your method should result a better B&W image !
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% END OF YOUR HOMEWORK OR EXAM OR PROJECT ...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generate a new image matrix in memory
newImg = zeros(size(Img));
for row=1:size(Img,1)
for col=1:size(Img,2)
if (ImgD(row,col) < t)
newImg(row,col) = 0; % below threshold fails
else
newImg(row,col) = 1; % above threshold passes
end
end
end
figure(2); imshow(newImg);
  4 Comments

Sign in to comment.

Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!