圖像灰度化是圖像處理很基礎的一部分,在這里給出圖像灰度化的三種常見方法的M源碼,以供大家參考~
平均值法,最大值法,加權平均值法
function f=MyGrayProcessing(Img)
[m,n,a]=size(Img);
% Img1_Gray=zeros(m,n);
% Img2_Gray=zeros(m,n);
Img3_Gray=zeros(m,n);
% GrayImage=rgb2gray(Img);%調用MATLAB內置函數灰度化
for x=1:m
for y=1:n
% Img1_Gray(x,y)=(Img(x,y,1)+Img(x,y,2)+Img(x,y,3))/3;%平均值法
% Img2_Gray(x,y)=max(Img(x,y,1),max(Img(x,y,2),Img(x,y,3))); %最大值法
Img3_Gray(x,y)=0.3*Img(x,y,1)+0.59*Img(x,y,2)+0.11*Img(x,y,3);%加權平均值法
end
end
% figure,imshow(Img);title('原圖像')
% figure,imshow(GrayImage);title('調用系統函數灰度化')
% figure,imshow(uint8(Img1_Gray));title('平均值法灰度化圖像')
% figure,imshow(uint8(Img2_Gray));title('最大值法灰度化圖像')
f=uint8(Img3_Gray);
figure,imshow(f);title('加權平均值法灰度化圖像')
|