您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > matlab灰度图直方图均衡化代码
matlab灰度图直方图均衡化代码clearall%一,图像的预处理,读入彩色图像将其灰度化PS=imread('1.jpg');%读入JPG彩色图像文件imshow(PS)%显示出来title('输入的彩色JPG图像')imwrite(rgb2gray(PS),'PicSampleGray.bmp');%将彩色图片灰度化并保存PS=rgb2gray(PS);%灰度化后的数据存入数组%二,绘制直方图[m,n]=size(PS);%测量图像尺寸参数GP=zeros(1,256);%预创建存放灰度出现概率的向量fork=0:255GP(k+1)=length(find(PS==k))/(m*n);%计算每级灰度出现的概率,将其存入GP中相应位置endfigure,bar(0:255,GP,'g')%绘制直方图title('原图像直方图')xlabel('灰度值')ylabel('出现概率')%三,直方图均衡化S1=zeros(1,256);fori=1:256forj=1:iS1(i)=GP(j)+S1(i);%计算SkendendS2=round((S1*256)+0.5);%将Sk归到相近级的灰度fori=1:256GPeq(i)=sum(GP(find(S2==i)));%计算现有每个灰度级出现的概率endfigure,bar(0:255,GPeq,'b')%显示均衡化后的直方图title('均衡化后的直方图')xlabel('灰度值')ylabel('出现概率')%四,图像均衡化PA=PS;fori=0:255PA(find(PS==i))=S2(i+1);%将各个像素归一化后的灰度值赋给这个像素endfigure,imshow(PA)%显示均衡化后的图像title('均衡化后图像')imwrite(PA,'PicEqual.bmp');
本文标题:matlab灰度图直方图均衡化代码
链接地址:https://www.777doc.com/doc-4442872 .html