灰度图像直方图均衡化变换函数算法.docVIP

灰度图像直方图均衡化变换函数算法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
灰度图像直方图均衡化变换函数算法

灰度图像直方图均衡化变换函数算法 方案一: 1) 灰度图像直方图均衡化算法步骤: 列出原始图像和变换后图像的灰度级I:j=0,1,…L-1,其中L是灰度级的个数; 统计原始图像个灰度级的像素个数Ni; 计算原始图像直方图:p(i)=Ni/N,N为原始图像像素总数; 计算累计直方图Pj=∑p(k),k=0,1…j; 利用灰度变换函数计算变换后的灰度值,并四舍五入:j=INT[(L-1)Pj+0.5]; 确定灰度变换关系i—j,据此将原图像的灰度值f(m,n)=i修正为g(m,n)=j; 统计变换后各灰度级的像素个数Nj; 计算变换后图像的直方图p(j)=Nj/N; 2) m文件 I=imread(football.jpg); I=I(:,:,1); [m,n]=size(I); num=m*n; pre_mat=zeros(1,256); aft_mat=zeros(1,256); for i=1:m for j=1:n pre_mat(I(i,j)+1)= pre_mat(I(i,j)+1)+1; end end aft_mat(I)=aft_mat(I)/num; for k=2:256 s(k)=pre_mat(k)/num; aft_mat(k)=aft_mat(k-1)+s(k); end M=zeros(m,n); aft_mat=aft_mat*255; for i=1:m for j=1:n M(i,j)=aft_mat(I(i,j)+1); end end J=uint8(M) subplot(3,2,1) imshow(I); title(1.原始图像); subplot(3,2,2) imhist(I); title(2.原始图像直方图 ); subplot(3,2,3) imshow(J); title(3.均衡化图像); subplot(3,2,4) imhist(J); title(4.均衡化图像直方图); A=histeq(I); subplot(3,2,5) imshow(A); title(5.系统均衡化图像); subplot(3,2,6) imhist(A); title(6.系统均衡化图像直方图) 图1 均衡化处理对比 经实际验证:该方案对黑白图片均衡化处理有较好的效果。不能正确的处理彩色图像。如上例中所示:该方案先将彩色图像转换成黑白图像,再对其均衡化处理。 为了良好的处理彩色图像,设计方案二如下所示: 方案二 PS=imread(football.jpg); %读入JPG彩色图像文件subplot(3,2,1); imshow(PS); %显示 title(原始彩色JPG图像) imwrite(rgb2gray(PS),PicSampleGray.bmp); %将彩色图片灰度化并保存PS=rgb2gray(PS); %灰度化后的数据存入数组 %[m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n) %计算每级灰度出现的概率,存入GP中 end subplot(3,2,2),bar(0:255,GP,g) %绘制直方图 title() ylabel(出现概率) %直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); %计算Sk end end S2=round((S1*256)+0.5); %将Sk归到相近级的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i))); %计算现有每个灰度级出现的概率end subplot(3,2,3),bar(0:255,GPeq,b) %显示均衡化后的直方图 title() ylabel(出现概率) axis([0 255 0 0.025]) %图像均衡化

文档评论(0)

pangzilva + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档