资源描述:
《数字图象处理实验报告--直方图应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、齐鲁工业大学实验报告课程名称数字图像处理指导教师任向河实验日期2014.6.5院(系)理学院专业班级光信11-1实验地点三机房学生姓名董萌学号20111021028同组人实验项目名称直方图应用一、实验目的和要求编程绘制数字图像的直方图。直方图均衡处理。二、实验原理设计思想或者流程图。灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。直方图均衡方法的基本原理是:
2、对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。编辑matalab程序如下首先将要处理的图片拖到windowcommand窗口imshow(PS)%显示出来title('输入的彩色JPG图像')imwrite(rgb2gray(PS),'PicSampleGray.bmp');%将彩色图片灰度化并保存PS=rgb2gray(PS);%灰度化后的数据存入数组%二,绘制直方图[m,n]=size
3、(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);%计
4、算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);%将各个像素归一化后的灰度值赋给这个像素e
5、ndfigure,imshow(PA)%显示均衡化后的图像title('均衡化后图像')imwrite(PA,'PicEqual.bmp');三、主要仪器设备装有matalab的计算机1台四、实验方法与步骤1.将所有编写好的程序放在复制下来2.打开在windowcommand命令窗口3.将图片拖动到该窗口下该窗口显示>>uiopen('C:UsersTOSHIBADesktop22.jpg',1)4.将程序复制粘贴在该命令窗口下>>clearall%一,图像的预处理,读入彩色图像将其灰度化
6、PS=imread('C:UsersTOSHIBADesktop22.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+
7、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
8、)=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(