图像直方图均衡化

来源:互联网 发布:淘宝客服如何打开分流 编辑:程序博客网 时间:2024/05/03 20:21
 自带函数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;endsubplot(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                                              %再取整    endend subplot(223);imshow(f1)title(‘原始图像直方图均衡化后图像’);subplot(224);imhist(f1)title(‘原始图像直方图均衡化后直方图’);