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 次查看(过去 30 天)
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 个评论

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with Image Processing Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by