电信 062 班
200604135036
实验三 图像分割
章薇
一、实验目的
1.理解图像与灰度直方图之间的关系,掌握对图像进行直方图均衡化处理
的方法;
2.掌握基本的图像分割方法:对具有双峰分布直方图的图像进行阈值分割;
二、实验内容
1. 直方图均衡化;
2. 阈值分割;
三、实验要求
1.要求用 matlab 语言进行仿真实验;
2.递交实验报告,给出实验原理、实验步骤、源程序、实验结果及分析。
四、实验图像
rice.tif
五、实验步骤
1.直方图均衡化
1 读入原图像 huafen.jpg,并显示图像及其直方图;
2 对图像进行直方图均衡化处理,并显示结果图像及其直方图;
3 比较直方图均衡化前后的图像及其直方图。
%读入原图像 rice.tif
%显示原输入图像
步骤一:
源程序 1:用几种不同的方法绘制图像 rice.tif 的直方图
I=imread('E:\images\rice.tif');
subplot(2,3,1),imshow(I)
title('(a) 输入图象')
subplot(2,3,2),imhist(I)
title('(b) 输入图象的直方图')
axis([0 255 0 1000])
h=imhist(I);
h1=h(1:10:256);
x=0:10:255;
%显示原输入图像的直方图
%设置图形的横纵坐标
subplot(2,3,3),bar(x,h1,'b')
title('(c) 直方图的条形图')
axis([0 255 0 1000])
subplot(2,3,4),stem(x,h1,'.')
title('(d) 直方图的杆状图')
axis([0 255 0 1000])
subplot(2,3,5),plot(x,h1)
title('(e) 直方图由点连成的图')
axis([0 255 0 1000])
%以条形图的方式显示直方图
%设置图形的横纵坐标
%以杆状图的方式显示直方图
%设置图形的横纵坐标
%将一组点用曲线连接起来显示直方图
%设置图形的横纵坐标
结果如下:
(a) 输 入 图 象
(b) 输 入 图 象 的 直 方 图
(c) 直 方 图 的 条 形 图
1000
1000
500
0
0
100
200
800
600
400
200
0
0
100
200
(d) 直 方 图 的 杆 状 图
1000
(e) 直 方 图 由 点 连 成 的 图
1000
500
500
0
0
100
200
0
0
100
200
%读入原图像 rice.tif
%显示原输入图像
步骤二:
源程序 2:对图像 rice.tif 进行直方图均衡化,并显示结果图像及其直方图
I=imread('E:\images\rice.tif');
subplot(2,2,1),imshow(I)
title('(a) 输入图像')
subplot(2,2,2),imhist(I)
title('(b) 输入图像的直方图')
J=histeq(I,256)
subplot(2,2,3),imshow(J)
title('(c) 直方图均衡化后的图像')
subplot(2,2,4),imhist(J)
title('(d) 图像均衡化后的直方图')
%显示图像均衡化后的直方图
%显示输入图像的直方图
%其中 I 为输入图像,J 为直方图均衡化后的图像
结果如下:
(a) 输 入 图 像
(b) 输 入 图 像 的 直 方 图
1000
500
0
0
100
200
(c) 直 方 图 均 衡 化 后 的 图 像
(d) 图 像 均 衡 化 后 的 直 方 图
1000
500
0
0
100
200
步骤三:
分析:图(a)为输入图像,该图像的特点是较暗且动态范围较低,这也可以从
其直方图(b)中看出,直方图偏向于灰度级的较暗端,且直方图的“宽度”相对
于整个灰度范围来说非常狭窄。
图(c)所示的图像是直方图均衡化后的结果,平均亮度及对比度的增强非常明
显,其对应的直方图如图(d)所示,各灰度级的比例更加平衡,直方
图的动态范围显著扩展。
2.阈值分割
1 读入原图像 eight.tif,并显示图像及其直方图(双峰分布);
2 选择直方图中两峰之间的谷对应的灰度作为阈值,对图像进行分割,
并显示分割结果。
源程序:读入原图像 eight.tif,并显示图像及其直方图(双峰分布);选择不同的
阈值分别对图像进行分割并显示结果。
I=imread('E:\images\rice.tif');
subplot(2,2,1),imshow(I)
title('(a) 输入图像')
subplot(2,2,2),imhist(I)
title('(b) 输入图像的直方图')
%读入原图像 rice.tif
%显示原输入图像
%显示输入图像的直方图
%两种方法对图像进行阈值分割
I1=[I>130]; % I1=im2bw(I,100/255);
subplot(2,2,3),imshow(I1)
title('(c) 阈值为 130 分割结果') %显示对输入图像进行阈值为 130 的分割的结果
I2=[I>100]; % I1=im2bw(I,150/255);
subplot(2,2,4),imshow(I2)
title('(d) 阈值为100 分割结果') %显示对输入图像进行阈值为100 的分割的结果
结果如下:
(a) 输 入 图 像
(b) 输 入 图 像 的 直 方 图
1000
500
0
0
100
200
(c) 阈 值 为 130分 割 结 果
(d) 阈 值 为 100分 割 结 果
六、源程序、实验结果及分析
见步骤五
七、实验小结
通过本次实验,我更加深刻地理解了图像与灰度直方图之间的关系,基本掌
握了对图像进行直方图均衡化处理的方法。通过对实验结果的分析,能比较直方
图均衡化前后的图像及其直方图并作分析。还掌握基本的图像分割方法,能够对
具有双峰分布直方图的图像进行阈值分割,对阈值分割有了更深刻的理解。
通过本次实验,对一些基本的图像处理方法有了更深刻的理解,并能进行应
用。总之,收获颇多。