图像灰度化的三种常见方法源码

时间:2022-05-04 21:48:13

图像灰度化是图像处理很基础的一部分,在这里给出图像灰度化的三种常见方法的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('加权平均值法灰度化图像')