武汉科技大学 数字图像处理实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二○一四~二○一五学年第一学期电子信息工程系
实验报告书
班级:电子信息工程(DB)1102班姓名
学号:
课程名称:数字图像处理
二○一四年十一月一日
实验一图像直方图处理及灰度变换(2学时)
实验目的:
1. 掌握读、写、显示图像的基本方法。
2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。
3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。
实验内容:
1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。
2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。
3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。
实验步骤:
1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图:
I1=imread('pic.jpg'); %读取图像
I2=rgb2gray(I1); %将彩色图变成灰度图
subplot(3,2,1);
imshow(I1);
title('原图');
subplot(3,2,3);
imshow(I2);
title('灰度图');
subplot(3,2,4);
imhist(I2); %统计直方图
title('统计直方图');
subplot(3,2,5);
J=histeq(I2); %直方图均衡
imshow(J);
title('直方图均衡');
subplot(3,2,6);
imhist(J);
title('统计直方图');
原
图
灰度图
01000
2000
3000统计直方图
100200直方图均衡
0统计直方图
100200
仿真分析:
将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。从直方图上反应,暗部到亮部像素分布更加均匀。
2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png');
I2=im2bw(I1,0.5); %选取阈值为0.5
I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1);
imshow(I1); title('原图'); subplot(3,2,3);
imshow(I2); title('阈值变换'); subplot(3,2,5);
imshow(I3); title('灰度调整'); subplot(3,2,2);
imhist(I1); title('统计直方图'); subplot(3,2,4);
imhist(I2); title('统计直方图'); subplot(3,2,6);
imhist(I3); title('统计直方图
');
原
图
阈值变
换
灰度调整
统计直方图
04统计直方图
1
01000
2000统计直方图
100
200
仿真分析:
进行阈值变换后,图像上只有“黑”和“白”两种颜色,原图中颜色过渡的细节没有了,但是亮部和暗部之间的对比更加强烈了;从直方图上可以看到像素集中“黑”与“白”两个部分,而两者之间是没有像素的。进行灰度调整后,无论从图像上反映还是从值方图上反映,都能看出像素的亮度整体上有所改变。
3.对图像进行伽马变换: I=imread('coffee.jpg'); J=im2double(I);
H1=power(J+10.^(-100),0.4); %进行伽马值为0.4的伽马变换 H2=power(J+10.^(-100),0.6); %进行伽马值为0.6的伽马变换 H3=power(J+10.^(-100),0.8); %进行伽马值为0.8的伽马变换 H4=power(J,2); %进行伽马值为3的伽马变换 H5=power(J,3); %进行伽马值为4的伽马变换 H6=power(J,4); %进行伽马值为5的伽马变换 figure(1)
subplot(2,2,1)
imshow(I); title('原图');
subplot(2,2,2)
imshow(H1); title('伽马值0.4');
subplot(2,2,3)
imshow(H2); title('伽马值0.6');
subplot(2,2,4)
imshow(H3); title('伽马值0.8');
figure(2)
subplot(2,2,1)
imshow(I); title('原图');
subplot(2,2,2)
imshow(H4); title('伽马值2');
subplot(2,2,3)
imshow(H5); title('伽马值3');
subplot(2,2,4)
imshow(H6); title('伽马值4');
原图
伽马值0.4伽马值0.6伽马值0.8
伽马值2伽马值3伽马值4
仿真分析:
该图片为亮图片,而伽马值小于1时会增加图片亮度,伽马值大于1时会降低图片亮度,对亮图片使用伽马值大于1的效果明显更好,从实际仿真效果来看,当伽马值过大时会导致整个图片亮度严重下降,图片细节有所丢失,此幅图最适合伽马值为2左右的伽马变换。