《图形图像处理》— 图像直方图均衡化

 自带函数
I=imread('photo.jpeg');
J=rgb2gray(I);
H=histeq(J);%计算和显示灰度图像J的直方图
subplot(2,2,1),imshow(J);
title('原始图像');
subplot(2,2,2),imhist(J);
title('原始图像直方图');
subplot(2,2,3),imshow(H);
title('原始图像直方图均衡化后图像');
subplot(2,2,4),imhist(H)
title('图像直方图均衡化后直方图');

自己写的histepa函数
f=imread('photo灰度图.jpg');
[m,n,d]=size(f);%灰度图1维,彩色图3维
if d==1
    f1=f;%复制后新的图片f1,作为改变后的图片
elseif d==3
    f=rgb2gray(f);
    f1=f;
end
subplot(221);
imshow(f);
title(‘原始图像’);

subplot(222);
imhist(f)
title(‘原始图像直方图’);

[count,x]=imhist(f);%count表示每个灰度级别有多少个像素,x表示有多少个灰度级别
 
PDF=count/(m*n);%PDF表示每个灰度级别出现的概率,一共有256行
CDF=cumsum(PDF);%CDF表示逐行相加的概率,也就是累加概率
 
for i=1:256
    xiangsuxushu=find(f==i);%原本灰度级别为i的像素在第几位
    changdu=length(xiangsuxushu);
    for j=1:changdu
        f1(xiangsuxushu(j))=round(CDF(i)*256-1);%每一个原本灰度级别为i的像素,
                                              %灰度级别改为累加出现概率*256
                                              %再取整
    end
end
 
subplot(223);
imshow(f1)
title(‘原始图像直方图均衡化后图像’);
subplot(224);
imhist(f1)
title(‘原始图像直方图均衡化后直方图’);
发布了443 篇原创文章 · 获赞 656 · 访问量 60万+

猜你喜欢

转载自blog.csdn.net/LiuJiuXiaoShiTou/article/details/78588624