预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验二图像的灰度变换与直方图均衡 一、实验目的 1.理解图像灰度变换与直方图均衡的定义; 2.掌握图像灰度变换与直方图均衡化的方法; 3.学会利用matlab编程实现灰度变换和直方图均衡的方法。 二、实验内容 1.利用matlab语言直接编程实现图像的对比度调整; 2.利用matlab语言编程实现图像的反转; 3.利用matlab语言直接编程实现图像的二值化; 4.利用matlab语言直接编程实现图像的直方图均衡化处理。 三、实验步骤 (一)利用matlab语言直接编程实现图像的对比度调整 实验代码如下: 实验报告数字图像处理实验报告数字图像实验报告二通信五班韩奇 I=double(A); J=I*0.5+40; A1=uint8(J); figure(1);subplot(1,2,1),imshow(A); subplot(1,2,2),imshow(A1); J=I*1+40; A1=uint8(J); figure(2);subplot(1,2,1),imshow(A); subplot(1,2,2),imshow(A1); J=I*3+40; A1=uint8(J); figure(3);subplot(1,2,1),imshow(A); subplot(1,2,2),imshow(A1); J=exp(I); A1=uint8(J); figure(4);subplot(1,2,1),imshow(A); -1- subplot(1,2,2),imshow(A1); 生成图像如下: -2- -3- 从图中可以看出,第一幅图相对于原图的对比度降低了,第二幅图相 对于原图对比度提高了40个灰度级,第三幅图对比度提高太多,效 果反而不好。在三幅图中,第二幅图视觉效果最好,对比度明显又不 至于太亮。第四幅图是指数灰度变换。 (二)利用matlab语言编程实现图像的反转 实验代码如下: 实验报告数字图像处理实验报告数字图像实验报告二通信五班韩奇 E=imadjust(A,[0.350.65],[10]); figure;imshow(E); 生成图像如下: -4- 从图中可以看出,原来亮的部分经过反转之后变暗,暗的部分经过反 转变亮。 (三)利用matlab语言直接编程实现图像的二值化 实验代码如下: 实验报告数字图像处理实验报告数字图像实验报告二通信五班韩奇 要阈值化的图像 imshow(I); M=I; [m,n]=size(M); fori=1:m forj=1:n if(M(i,j)<120) M(i,j)=0; else M(i,j)=255; -5- end end end figure,imshow(M);%M是二值化的图像 生成图像如下: -6- 程序设置的阈值是120,灰度级低于120的变为0(最暗),高于120 的将变为255(最亮)。 (四)利用matlab语言直接编程实现图像的直方图均衡化处理 实验代码如下: 实验报告数字图像处理实验报告数字图像实验报告二通信五班韩奇 读入JPG图像文件 PS=rgb2gray(PS); imwrite(PS,'qiao灰度图.bmp');%转换为灰度化并保存 figure(1); imshow(PS)%显示出来 title('输入图像') %绘制直方图 [m,n]=size(PS);%测量图像尺寸参数 GP=zeros(1,256);%预创建存放灰度出现概率的向量 fork=0:255 -7- GP(k+1)=length(find(PS==k))/(m*n);%计算每级灰度出现的概率,将其存入GP中相应位 置 end figure(2),bar(0:255,GP,'g')%绘制直方图 title('原图像直方图') xlabel('灰度值') ylabel('出现概率') %直方图均衡化 S1=zeros(1,256); fori=1:256 forj=1:i S1(i)=GP(j)+S1(i);%计算Sk end end S2=round((S1*256)+0.5);%将Sk归到相近级的灰度 fori=1:256 GPeq(i)=sum(GP(find(S2==i)));%计算现有每个灰度级出现的概率 end figure(3),bar(0:255,GPeq,'b')%显示均衡化后的直方图 title('均衡化后的直方图') xlabel('灰度值') ylabel('出现概率') %均衡化后的图像 PA=PS; fori=0:255 PA(find(PS==i))=S2(i+1);%将各个像素归一化后的灰度值赋给这个 像素 end figu