资源描述:
《实验3灰度直方图及其均衡化》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验3灰度直方图及其均衡化3/3实验三、灰度直方图及其均衡化系别:计算机学院专业班级:姓名:学号:实验日期:实验报告日期:一、实验目的1、理解图像直方图的含义;2、掌握图像直方图均衡化的方法;二、实验内容:1.自己编写程序实现图像直方图的显示方法,并比较与Matlab函数imhist显示效果的是否相同;2.自己编写直方图均衡化方法,并比较与Matlab函数histeq增强效果是否相同;三、直方图均衡化实验指导:1.显示图像直方图functionvarargout=imhist_my(image)% IMHIST_MY 计算图像矩阵image直方图% 输出:
2、无 绘制出直方图% [histv,grayv]histv为每个grayv的个数,grayv为灰度值% 作者:lskyp 时间:2009.08.17ifisrgb(image) error('图像为RGB图像,不能用该函数处理');endifisa(image,'uint8') histv=zeros(1,256); grayv=0:255;elseifisa(image,'uint16') histv=zeros(1,65536); grayv=0:65535;endforp=1:size(image,1) forq=1:
3、size(image,2) histv(image(p,q)+1)=histv(image(p,q)+1)+1; endendifnargout==0 stem(grayv,histv,'Marker','none'); title('直方图'); xlim([0max(grayv)]); xlabel('灰度值'); ylabel('个数');else varargout={histv,grayv};end2.直方图均衡化实验3灰度直方图及其均衡化3/3functionvarargout=histeq_my(image)% HISTE
4、Q_MY 直方图均衡化函数% Ref.章毓晋.图像工程(上册)——图像处理(第二版)[M].清华大学出版社% 作者:lskyp 时间:2009.08.17imageeq=zeros(size(image));[hist,grayx]=imhist_my(image);%归一化histn=hist/numel(image);histc=cumsum(histn);L=intmax(class(image));eval(['L='class(histc)'(L);'])tk=floor(histc*(L-1)+0.5);%Ref.章毓晋.Page92,映射关
5、系hist-->tkhisteq=zeros(size(hist));fork=1:L histeq(tk(k)+1)=histeq(tk(k)+1)+hist(k);end%图像灰度映射forp=1:size(imageeq,1) forq=1:size(imageeq,2) imageeq(p,q)=tk(image(p,q)+1); endendimageeq=mat2gray(imageeq);eval(['imageeq=im2'class(image)'(imageeq);'])%输出ifnargout==0 subplot(221
6、) imshow(image) title('原始图像') subplot(222) imshow(imageeq) title('直方图均衡化后图像') subplot(223) stem(grayx,hist,'Marker','none'); xlim([0max(grayx)]); xlabel('灰度值') ylabel('统计个数'); title('原始直方图') subplot(224) stem(grayx,histeq,'Marker','none'); xlim([0max(grayx)]); xlabel('
7、灰度值') ylabel('统计个数');实验3灰度直方图及其均衡化3/3 title('均衡化后直方图')else varargout={imageeq,grayx,histeq,hist};end一、实验报告内容1实验中用到源程序代码;2提交实验的原始图像和结果图像。二、思考题1.直方图规定化的实现方法。