当前位置:文档之家› 数字图像处理第5章

数字图像处理第5章

第五章图像分割与边缘检测

5.1 图像分割

5.2 边缘检测

5.3 轮廓跟踪与提取

5.4 图像匹配

5.5 投影法与差影法

5.6 应用实例

5.1 图像分割

5.1.1概述

图像分割是将图像划分成若干个互不相交的小区域的过程,小区域是某种意义下具有共同属性的像素的连通集合。如不同目标物体所占的图像区域、前景所占的图像区域等。连通是指集合中任意两个点之间都存在着完全属于该集合的连通路径。对于离散图像而言,连通有4连通和8连通之分,如图5-1所示。

图5-1 4连通和8连通

(a)(b)

4连通指的是从区域上一点出发,可通过4个方向,即上、下、左、右移动的组合,在不越出区域的前提下,到达区域内的任意像素;8连通方法指的是从区域上一点出发,可通过左、右、上、下、左上、右上、左下、右下这8个方向的移动组合来到达区域内的任意像素。

图像分割有三种不同的途径:其一是将各像素划归到相应物体或区域的像素聚类方法,即区域法;其二是通过直接确定区域间的边界来实现分割的边界方法;其三是首先检测边缘像素,再将边缘像素连接起来构成边界形成分割。在图像分割技术中,最常用的是利用阈值化处理进行的图像分割。

5.1.2灰度阈值法分割

常用的图像分割方法是把图像灰度分成不同的等级,然后用设置灰度门限(阈值)的方法确定有意义的区域或分割物体的边界。常用的阈值化处理就是图像的二值化处理,即选择一阈值,将图像转换为黑白二值图像,用于图像分割及边缘跟踪等预处理。

图像阈值化处理的变换函数表达式为

??

?

?

?

<

=

T

y

x

f

T

y

x

f

y

x

g

)

,

(

255

)

,

(

)

,

((5-1)

图5-2 阈值变换曲线

255

0T255

g

f

在图像的阈值化处理过程中,选用不同的阈值其处理结果差异很大。如图5-3所示,阈值过大,会提取多余的部分;而阈值过小,又会丢失所需的部分(注意:当前背景为黑色,对象为白色时刚好相反)。因此,阈值的选取非常重要。

图5-3(a)原始图像的直方图如图5-4所示。分析该直方图可知,该直方图具有双峰特性,图像中的目标(细胞)分布在较暗的灰度级上形成一个波峰,图像中的背景分布在较亮的灰度级上形成另一个波峰。此时,用其双峰之间的谷低处灰度值作为阈值T进行图像的阈值化处理,便可将目标和背景分割开来。

图5-3 不同阈值对阈值化结果的影响

(a) 原始图像;(b) 阈值T=91;(c) 阈值T=130;(d) 阈值

T=43

(a)(b)

(c)(d)

图5-4 图5-3(a)所示图像的直方图

1.判别分析法确定最佳阈值

判别分析法确定最佳阈值的准则,是使进行阈值处理后分离的像素类之间的类间方差最大。判别分析法只需计算直方图的0阶矩和1阶矩,是图像阈值化处理中常用的自动确定阈值的方法。

设图像总像素数为N,灰度值为i的像素数为N

i

,则至灰度级K的灰度分布的0阶矩及1阶矩分别定义为

0阶矩:

=

=

K

i

i

N

N

k

)

(

ω(5-2)

1阶矩:∑

=

*

=

K

i

i

N

N

i

k

)

(μ(5-3)

当K=L-1时,ω(L-1)=1;μ(L-1)=μ

T

,μ

T

称为图像的平均灰度。

设有M-1个阈值:0≤k

1

<k

2

<…<K

M-1

≤L-1。

将图像分割成M个灰度值的类C

j

(C

j

∈[k

j-1

+1, …, k

j

]; j=1,

2, …, M; k

=0, k M=L),则各类C j的发生概率ωj和平均值μj为

)

(

)

(

)

(

)

(

)

(

)

(

1

1

1

-

-

-

-

-

=

-

=

j

j

j

j

j

j

j

j

k

k

k

k

k

k

ω

ω

μ

μ

μ

ω

ω

ω(5-4)

(5-5)

式中,ω(0)=0,μ(0)=0。

由此可得各类的类间方差为

=

-

-

*

M

j

r

j

j

M

k

k

k

1

2

1

2

1

2)

(

)

,

,

,

μ

ω

σ

将使上式的σ2值为最大的阈值组(k

1

,k2,…,k M-1),作为M 值化的最佳阈值组。若取M为2,即分割成2类,则可用上述方法求出二值化的阈值。

(5-6)

2.p尾法确定阈值

p尾法仅适用于事先已知目标所占全图像百分比的场合。若一幅图像由亮背景和黑目标组成,已知目标占图像的(100-p) %面积,则使得至少(100-p)% 的像素阈值化后匹配为目标的最高灰度,将选作用于二值化处理的阈值。

5.1.3区域生长

分割的目的是把一幅图像划分成一些区域,最直接的方法就是把一幅图像分成满足某种判据的区域,也就是说,把点组成区域。为了实现分组,首先要确定区域的数目,其次要确定一个区域与其他区域相区别的特征,最后还要产生有意义分割的相似性判据。

分割区域的一种方法叫区域生长或区域生成。假定区域的数目以及在每个区域中单个点的位置已知,则从一个已知点开始,加上与已知点相似的邻近点形成一个区域。相似性准则可以是灰度级、彩色、组织、梯度或其他特性,相似性的测度可以由所确定的阈值来判定。方法是从满足检测准则的点开始,在各个方向上生长区域,当其邻近点满足检测准则就并入小块区域中。当新的点被合并后再用新的区域重复这一过程,直到没有可接受的邻近点时生成过程终止。

图5-5给出一个简单的例子。此例的相似性准则是邻近点的灰度级与物体的平均灰度级的差小于2。图中被接受的点和起始点均用下划线标出,其中(a)图是输入图像;(b)图是第一步接受的邻近点;(c)图是第二步接受的邻近点;(d)图是从6开始生成的结果。

图5-5 区域生长示例

当生成任意物体时,接收准则可以结构为基础,而不是以灰度级或对比度为基础。为了把候选的小群点包含在物体中,可以检测这些小群点,而不是检测单个点,如果它们的结构与物体的结构足够相似时就接受它们。

5.1.4区域聚合

区域聚合可直接用于图像分割,它要求聚合中的各个点必须在平面上相邻接而且特性相似。区域聚合的步骤是首先检查图像的测度集,以确定在测度空间中聚合的位置和数目,然后把这些聚合的定义用于图像,以得到区域聚合。区域聚合技术可以说明如下。

首先,在图片上定义某个等价关系。例如,最简单的等价关系可定义为p(i,j)=p(k,l)。也就是说,如果p(i,j)=p(k,l),就说明p(i,j)与p(k,l)等价。任何在点的格子上的等价关系又可划分为等价类。例如,p(i,j)的取值范围为0到63,就可以产生64个等价类的模板。如果关系满足,它的值等于1,否则为0。

模板的图像是两两不相交的,那么64个模板就会充满整个格子。这些等价的类又可进一步分为最大连接的子集(连接分量)。连接性可以用点(i,j)的邻点来定义,如4连通邻点、8连通邻点等等。假如R是属于格子的子集,在R中存在一个点序列,

第一个点是p

1,最后一个点是p

2

,属于格子的子集R的两个点p

1

和p

2

是被连接起来的,这样,相继的各点是4连接相邻的。通过这样的连接关系可以定义一个属于R的子集,这个子集形成一个区域,在这个区域中,任何点都与R有关。利用等价模板可分成最大的连接区域,然后,这些最大的连接区域又可以像搭积木一样形成有意义的分割。

数字图像处理实验1

实验一 实验内容和步骤 练习图像的读取、显示和保存图像数据,步骤如下: (1)使用命令figure(1)开辟一个显示窗口 (2)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内显示、二值图像和灰度图像,注上文字标题。 (3)保存转换后的灰度图像和二值图像 (4)在同一个窗口显示转换后的灰度图像的直方图 I=imread('BaboonRGB.bmp'); figure,imshow(I); I_gray=rgb2gray(I); figure,imshow(I_gray); I_2bw=Im2bw(I_gray); figure,imshow(I_2bw); subplot(1,3,1),imshow(I),title('RGB图像'); subplot(1,3,2),imshow(I_gray),title('灰度图像'); subplot(1,3,3),imshow(I_2bw),title('二值图像'); imwrite(I_gray,'Baboongray.png'); imwrite(I_2bw,'Baboon2bw.tif'); figure;imhist(I_gray);

RGB 图 像灰度图 像二值图 像 050100150200250 500 1000 1500 2000 2500 3000

(5)将原RGB 图像的R 、G 、B 三个分量图像显示在figure(2)中,观察对比它们的特点,体会不同颜色所对应的R 、G 、B 分量的不同之处。 [A_RGB,MAP]=imread('BaboonRGB.bmp'); subplot(2,2,1),imshow(A_RGB),title('RGB'); subplot(2,2,2),imshow(A_RGB(:,:,1)),title('R'); subplot(2,2,3),imshow(A_RGB(:,:,2)),title('G'); subplot(2,2,4),imshow(A_RGB(:,:,3)),title('B'); (6)将图像放大1.5倍,插值方法使用三种不同方法,在figure(3)中显示放大后的图像,比较不同插值方法的结果有什么不同。将图像放大到其它倍数,重复实验;A=imread('BaboonRGB.bmp'); figure(3),imshow(A),title('原图像'); B=imresize(A,1.5,'nearest'); figure(4),imshow(B),title('最邻近法') C=imresize(A,1.5,'bilinear'); ; figure(5),imshow(C),title('双线性插值'); D=imresize(A,1.5,'bicubic'); figure(6),imshow(D),title('双三次插值 '); RGB R G B

数字图像处理第三版中文答案--冈萨雷斯

数字图像处理第三版中文答案--冈萨雷斯

第二章 2.1(第二版是0.2和1.5*1.5的矩形,第三版是0.3和1.5圆形) 对应点的视网膜图像的直径x 可通过如下图题2.1所示的相似三角形几何关系得到,即 ()()017 02302.x .d = 解得x=0.06d 。根据2.1 节内容,我们知道:如果把中央凹处想象为一个有337000 个成像单元的圆形传感器阵列,它转换成一个大小25327.?π成像单元的阵列。假设成像单元之间的间距相等,这表明在总长为1.5 mm (直径) 的一条线上有655个成像单元和654个成像单元间隔。则每个成像单元和成像单元间隔的大小为s=[(1.5 mm)/1309]=1.1×10-6 m 。 如果在中央凹处的成像点的大小是小于一个可分辨的成像单元,在我们可以认为改点对于眼睛来说不可见。换句话说, 眼睛不能检测到以下直径的点: m .d .x 61011060-?<=,即m .d 610318-?< 2.2 当我们在白天进入一家黑暗剧场时,在能看清并找到空座时要用一段时间适应。2.1节描述的视觉过程在这种情况下起什么作用? 亮度适应。 2.3 虽然图2.10中未显示,但交流电的却是电磁波谱的一部分。美国的商用交流电频率是77HZ 。问这一波谱分量的波长是多少? 光速c=300000km/s ,频率为77Hz 。 因此λ=c/v=2.998 * 108(m/s)/77(1/s) = 3.894*106m = 3894 Km. 2.5 根据图2.3得:设摄像机能看到物体的长度为x (mm),则有:500/x=35/14; 解得:x=200,所以相机的分辨率为:2048/200=10;所以能解析的线对为:10/2=5线对/mm. 2.7 假设中心在(x0,y0)的平坦区域被一个强度分布为: ] )0()0[(22),(y y x x Ke y x i -+--= 的光源照射。为简单起见,假设区域的反射 是恒定的,并等于1.0,令K=255。如果图像用k 比特的强度分辨率进行数字化,并且眼睛可检测相邻像素间8种灰度的突变,那么k 取什么值将导致可见的伪轮廓? 解:题中的图像是由: ()()()()()[]()()[]2 02 02 02 025501255y y x x y y x x e .e y ,x r y ,x i y ,x f -+---+--=?==

智慧树知到数字图像处理章节测试答案

智慧树知到《数字图像处理》章节测试答案第一章 1、表示一幅灰度图像,一般用()? 一个常数 二维矩阵 三维矩阵 一个变量 答案: 二维矩阵 2、彩色图像中,每个像素点用()表示色彩值? 一个值 二个值 三个值 四个值 答案: 三个值 3、不可见光是可以形成图像的 对 错 答案: 对 4、数字图像的质量与量化等级有关 对 错 答案: 对

5、一幅模拟图像转化为数字图像,要经过()? 重拍 重拍 采样 量化 变换 答案: 采样,量化 6、某个像素的邻域,一般有()? 4-邻域 8-邻域 10-邻域 对角邻域 答案: 4-邻域,8-邻域,对角邻域 第二章 1、傅里叶变换得到的频谱中,低频系数对应于()?物体边缘 噪音 变化平缓部分 变化剧烈部分 答案: 变化平缓部分 2、一幅二值图像的傅里叶变换频谱是()? 一幅二值图像

一幅灰度图像 一幅复数图像 一幅彩色图像 答案: 一幅灰度图像 3、傅里叶变换有下列哪些特点()? 有频域的概念 均方意义下最优 有关于复数的运算 从变换结果可以完全恢复原始数据 答案: 有频域的概念,有关于复数的运算,从变换结果可以完全恢复原始数据4、图像的几何变换改变图像的大小或形状,例如()? 平移 旋转 缩放 退化 答案: 平移,旋转,缩放 5、傅里叶变换得到的频谱中,高频系数对应于图像的边缘部分。 对 错 答案: 对 6、图像平移后,其傅里叶变换的幅度和相位均保持不变。 对

错 答案: 错 第三章 1、图像与其灰度直方图间的对应关系是()? 一一对应 多对一 一对多 都不对 答案: 2、下列算法中属于点处理的是()? 梯度锐化 直方图均衡化 傅里叶变换 中值滤波 答案: 3、为了去除图像中某一频率分量,除了用带阻滤波器还可以用()? 低通滤波器 高通滤波器 带通滤波器 低通滤波器加高通滤波器 答案: 4、要对受孤立噪声点影响的图像进行平滑滤波,不能达到效果的滤波器是()?

数字图像处理实验五

数字图像处理 实验 实验五:图像增强-空域滤波 学院:信息工程学院 姓名: 学号: 专业及班级: 指导教师:

一、 实验目的 进一步了解MatLab 软件/语言,学会使用MatLab 对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。 了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。 二、 实验内容 (1)学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。 (2)利用MATLAB 软件实现空域滤波的程序: I=imread('electric.tif'); J = imnoise(I,'gauss',0.02); %添加高斯噪声 J = imnoise(I,'salt & pepper',0.02); %添加椒盐噪声 ave1=fspecial('average',3); %产生3×3的均值模版 ave2=fspecial('average',5); %产生5×5的均值模版 K = filter2(ave1,J)/255; %均值滤波3×3 L = filter2(ave2,J)/255; %均值滤波5×5 M = medfilt2(J,[3 3]); %中值滤波3×3模板 N = medfilt2(J,[4 4]); %中值滤波4×4模板 imshow(I); figure,imshow(J); figure,imshow(K); figure,imshow(L); figure,imshow(M); figure,imshow(N); 三、实验具体实现 a) 调入并显示原始图像Sample2-1.jpg 。 b) 利用imnoise 命令在图像Sample2-1.jpg 上加入高斯(gaussian) 噪声 c)利用预定义函数fspecial 命令产生平均(average)滤波器 111191111---????--????---? ? d )分别采用3x3和5x5的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果; e )选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。 f )利用imnoise 命令在图像Sample2-1.jp g 上加入椒盐噪声(salt & pepper)

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 1)掌握读、写图像的基本方法。 2)掌握MATLAB语言中图像数据与信息的读取方法。 3)理解图像灰度变换处理在图像增强的作用。 4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方 法。 二、实验内容与要求 1.熟悉MATLAB语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。 1)将MATLAB目录下work文件夹中的forest.tif图像文件读出.用到imread, imfinfo 等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。将这个图像显示出来(用imshow)。尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。 2)将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray() 将其 转化为灰度图像,记为变量B。 2.图像灰度变换处理在图像增强的作用 读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。 3.绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程和调用Matlab函数完成如下实验。 1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用 imadjust函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰

度直方图与原灰度直方图的区别。 2) 对B 进行直方图均衡化处理,试比较与源图的异同。 3) 对B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。 图1.1 分段线性变换函数 三、实验原理与算法分析 1. 灰度变换 灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。 1) 图像反转 灰度级范围为[0, L-1]的图像反转可由下式获得 r L s --=1 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围, 如直接使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换: s = c log(1 + r ),c 为常数,r ≥ 0 3) 幂次变换: 0,0,≥≥=γγc cr s 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

数字图像处理第三版 (Rafael C.Gonzalez著)第三章答案

(a )由2 )(Kr Ae r T s -==,3/2 A Ae KL =-得:) 3/1ln(20=-KL ,20 /0986.1L K = 2 2 0986.1)(r L Ae r T s -== (b )、由 , 4/)1(2 0B e KL =--B 得: )4/3ln(2 0=-KL ,2 0/2877.0L K = )1()(2 2 2877.0r L e B r T s - -== (c )、 逐次查找像素值,如(x ,y )=(0,0)点的f (x ,y )值。若该灰度值的4比特的第0 位是1,则该位置的灰度值全部置1,变为15;否则全部置0,变为0。因此第7位平面[0,7]置0,[7,15]置1,第6位平面[0,3],[4,7]置0,[8,11],[12,15]置15。依次对图像的全部像素进行操作得到第0位平面,若是第i 位平面,则该位置的第i 位值是0还是1,若是1,则全置1,变为15,若是0,则全置0 设像素的总数为n ,是输入图像的强度值,由,rk 对 应sk ,所以,由 和得 由此得知,第二次直方图均衡化处理的结果与第一次直 方图均衡化处理的结果相同,这里我们假设忽略不计四舍五入的误差。

3.11题、由 dw w p z G v z z )()(0 ? = =, ?? ?=<<-5 .0041 5.044)( w w w w z w p { 5 .0021 5.02210 2 2 )()(<<<<+-= = =? z z z z z z z dw w p z G v 令v s =得 所以?? ???=?? ?? ?==- <<+-±<<- -+-±±-±-5.010221 5.0121 )2(25.022 125.01 22 )(r r r r r r v v v G z 3.12题、第k 个点邻域内的局部增强直方图的值为: P r (r k )=n k /n (k=0,1,2,……K-1)。这里n k 是灰度级为r k 的像素个数,n 是邻域内像素的总个数,k 是图像中可能的灰度级总数。假设此邻域从左以一个像素为步长向右移动。这样最左面的列将被删除的同时在后面又产生一个新的列。变化后的直方图则变成 : (k=0,1,2,……K-1) 这里n lk 是灰度级r k 在左面的列出现的次数,n rk 则为在右面出现的次数。 上式也可以改写成: (k=0,1,2,……K-1) 同样的方法也适用于其他邻域的移动: 这里a k 是灰度级r k 在邻域内在移动中被删除的像素数,b k 则是在移动中引入的像素数: (k=0,1,2,…… K-1) 上式等号右边的第一项为0(因为f 中的元素均为常数)。变量 是噪声的简单抽样,它 的方差是。因此 并且我们可以得到。上述过

数字图像处理实验5 冈萨雷斯

一、 实验目的: 实验五 彩色图像处理 1、使用 RGB 、Indexed 和 Gray 图像间转换函数 2、掌握彩色图像平滑与锐化的算法 3、彩色图像的分割 二、 实验内容 1、使用 RGB 、Indexed 和 Gray 图像间转换函数 对图像“Fig0630(01)(strawberries_fullcolor).tif ”使用 rgb2ind 分别产生 8 色抖 动和非抖动图像;使用 rgb2gray 实现图像转换,并使用函数 dither 产生其抖 动形式的图像。分别显示如下: 2、彩色图像平滑与锐化 对图像“ F ig0604(a)(iris).tif ” 在 RGB 空 间 实 现 彩色图像的平滑 ( w =ones (25)./(25*25))与锐化(w= [1 1 1 1 1; 1 1 1 1 1; 1 1 -24 1 1 ; 1 1 1 1 1; 1 1 1 1 1];)(函数 imfilter );输出结果分别如下:

在 HSI 空间实现彩色图像的平滑(w=ones (25)./(25*25)),(函数 imfilter, rgb2hsi, cat ),观察仅平滑亮度分量(intensity )和平滑全部三个分量结果的差 别。 3、彩色图像分割 用 colorseg 函 数 实 现 基 于 肤 色 的 人 脸 分 割 。 对 图 像 “'Fig0636(woman_baby_original).tif ”在 HSI 空间,用函数 colorseg 分别用参 数“euclidean ”和“mahalanobis ”实现人脸分割。结果类似如下:

数字图像处理实验 实验二

实验二MATLAB图像运算一、实验目的 1.了解图像的算术运算在数字图像处理中的初步应用。 2.体会图像算术运算处理的过程和处理前后图像的变化。 二、实验步骤 1.图像的加法运算-imadd 对于两个图像f x,y和 (x,y)的均值有: g x,y=1 f x,y+ 1 (x,y) 推广这个公式为: g x,y=αf x,y+β (x,y) 其中,α+β=1。这样就可以得到各种图像合成的效果,也可以用于两张图像的衔接。说明:两个示例图像保存在默认路径下,文件名分别为'rice.png'和'cameraman.tif',要求实现下图所示结果。 代码: I1 = imread('rice.png'); I2 = imread('cameraman.tif'); I3 = imadd(I1, I2,'uint8'); I4 = imadd(I1, I2,'uint16'); subplot(2, 2, 1), imshow(I1), title('?-ê?í???1'); subplot(2, 2, 2), imshow(I2), title('?-ê?í???2'); subplot(2, 2, 3), imshow(I3), title('8??í?????ê?'); subplot(2, 2, 4), imshow(I4), title('16??í?????ê?'); 结果截图:

2.图像的减法运算-imsubtract 说明: 背景图像可通过膨胀算法得到background = imopen(I,strel('disk',15));,要求实现下图所示结果。 示例代码如下: I1 = imread('rice.png'); background = imerode(I1, strel('disk', 15)); rice2 = imsubtract(I1, background); subplot(2, 2, 1), imshow(I1), title('?-ê?í???'); subplot(2, 2, 2), imshow(background), title('±3?°í???'); subplot(2, 2, 3), imshow(rice2), title('′|àíoóμ?í???'); 结果截图: 3.图像的乘法运算-immultiply

数字图像处理实验报告5

数字图像处理与分析 实 验 报 告 学院: 班级: 姓名: 学号:

实验五(1)图像压缩 一、实验目的 1. 理解图像压缩的基本定义和常见方法 2. 掌握在MATLAB中进行图像压缩的方法 3. 掌握利用DCT进行图像压缩的方法 4. 进一步熟悉了解MATLAB语言的应用,为进行综合性图像处理实验打下基础 二、实验内容 %利用离散余弦变换进行JPEG图像压缩 I=imread('1.bmp'); %读入原图像; I=im2double(I); %将原图像转为双精度数据类型; T=dctmtx(8); %产生二维DCT变换矩阵 B=blkproc(I,[8 8],'P1*x*P2',T,T'); %计算二维DCT,矩阵T及其转置T’是DCT 函数P1*x*P2的参数 Mask=[ 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; %二值掩膜,用来压缩DCT系数,只留下数中 左上角的10个 B2=blkproc(B,[8 8],'P1.*x',Mask); %只保留DCT变换的10个系数 I2= blkproc(B2,[8,8],'P1*x*P2',T',T); %逆DCT,重构图像 Subplot(1,2,1); Imshow(I);title('原图像'); %显示原图像 Subplot(1,2,2); Imshow(I2);title('压缩图像'); %显示压缩后的图像。虽然舍弃了85%的DCT 系数,但图像仍然清晰(有一些质量损失)得到图像:

数字图像处理实验

(1)矩阵图像的傅里叶变换 f=zeros(30,30); f(5:24,13:17)=1; imshow(f,'notruesize') F=fft2(f); F2=log(abs(F)); figure;imshow(F2,[-1 5],'notruesize');colormap(jet);colorbar;

-0.5 00.5 11.522.533.544.5 (2)图像的傅里叶变换 I=imread('concordorthophoto.png'); imshow(I); B=ffshift(fft2(I)); figure; imshow(log(abs(B)),[]),colorbar;

图像离散余弦变换 RGB=imread('hestain.png'); I=rgb2gray(RGB); imshow(RGB); J=dct2(I); figure,imshow(log(abs(J)),[]),colorbar; J(abs(J)<10)=0; K=idct2(J)/255; figure,imshow(K)

二(1) 直方图均衡化增强图像对比度程序I=imread('trees.tif'); J=imnoise(I,'salt & pepper',0.02); imshow(I);figure,imshow(J) K1=filter2(fspecial('average',3),J)/255; K2=filter2(fspecial('average',5),J)/255; K3=filter2(fspecial('average',7),J)/255; figure,imshow(K1) figure,imshow(K2) figure,imshow(K3)

数字图像处理——彩色图像实验报告

6.3实验步骤 (1)对彩色图像的表达和显示 * * * * * * * * * * * *显示彩色立方体* * * * * * * * * * * * * rgbcube(0,0,10); %从正面观察彩色立方体 rgbcube(10,0,10); %从侧面观察彩色立方 rgbcube(10,10,10); %从对角线观察彩色立方体 %* * * * * * * * * *索引图像的显示和转换* * * * * * * * * * f=imread('D:\Picture\Fig0604(a)(iris).tif'); figure,imshow(f);%f是RGB真彩图像 %rgb图像转换成8色索引图像,不采用抖动方式 [X1,map1]=rgb2ind(f,8,'nodither'); figure,imshow(X1,map1); %采用抖动方式转换到8色索引图像 [X2,map2]=rgb2ind(f,8,'dither'); figure,imshow(X2,map2); %显示效果要好一些 g=rgb2gray(f); %f转换为灰度图像 g1=dither(g);%将灰色图像经过抖动处理,转换打二值图像figure,imshow(g);%显示灰度图像 figure,imshow(g1);%显示抖动处理后的二值图像 程序运行结果:

彩色立方体原图 不采用抖动方式转换到8色索引图像采用抖动方式转换到8色索引图像 灰度图像抖动处理后的二值图像

(2)彩色空间转换 f=imread('D:\Picture\Fig0604(a)(iris).tif'); figure,imshow(f);%f是RGB真彩图像 %转换到NTSC彩色空间 ntsc_image=rgb2ntsc(f); figure,imshow(ntsc_image(:,:,1));%显示亮度信息figure,imshow(ntsc_image(:,:,2));%显示色差信息figure,imshow(ntsc_image(:,:,3));%显示色差信息 %转换到HIS彩色空间 hsi_image=rgb2hsi(f); figure,imshow(hsi_image(:,:,1));%显示色度信息figure,imshow(hsi_image(:,:,2)); %显示饱和度信息figure,imshow(hsi_image(:,:,3));%显示亮度信息 程序运行结果: 原图 转换到NTSC彩色空间

数字图像处理实验

《数字图像处理》 实验报告 学院:信息工程学院 专业:电子信息工程 学号: 姓名: 2015年6月18日

目录 实验一图像的读取、存储和显示 (2) 实验二图像直方图分析 (6) 实验三图像的滤波及增强 (15) 实验四噪声图像的复原 (19) 实验五图像的分割与边缘提取 (23) 附录1MATLAB简介 (27)

实验一图像的读取、存储和显示 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像的显示。 二、实验原理 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 三、实验设备 (1) PC计算机 (2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox) (3) 实验所需要的图片 四、实验内容及步骤 1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中; 2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像; 4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息; 5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件设为flower.jpg语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。 6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。 7.用imread()读入图像:Lenna.jpg 和camema.jpg; 8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;

数字图像处理实验五复习课程

数字图像处理实验五

数字图像处理 实验 实验五:图像增强-空域滤波 学院:信息工程学院 姓名: 学号: 专业及班级: 指导教师:

一、实验目的 进一步了解MatLab软件/语言,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。 了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能 力,并为课堂教学提供配套的实践机会。 二、实验内容 (1)学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。 (2)利用MATLAB软件实现空域滤波的程序: I=imread('electric.tif'); J = imnoise(I,'gauss',0.02); %添加高斯噪声 J = imnoise(I,'salt & pepper',0.02); %添加椒盐噪声 ave1=fspecial('average',3); %产生3×3的均值模版 ave2=fspecial('average',5); %产生5×5的均值模版 K = filter2(ave1,J)/255; %均值滤波3×3 L = filter2(ave2,J)/255; %均值滤波5×5 M = medfilt2(J,[3 3]); %中值滤波3×3模板 N = medfilt2(J,[4 4]); %中值滤波4×4模板 imshow(I); figure,imshow(J); figure,imshow(K); figure,imshow(L); figure,imshow(M); figure,imshow(N); 三、实验具体实现

数字图像处理实验

研究性实验五 一、实验说明: 一个用瓶子装各种工业化学品的装瓶公司听说你成功解决了成像问题,并雇佣你设计一种检测瓶子未装满的方法。当瓶子在传送带上运动,并通过自动装填机和封盖机进行包装时有如下图所示的情景。当液体平面低于瓶颈底部和瓶子肩部的中间点时,认为瓶子未装满。瓶子的横断面上的倾斜部分及侧面定义为瓶子的肩部。瓶子在不断移动,但公司有一个图像系统,装备了有效捕捉静止图像的前端闪光照明设备。所以你可以得到非常清晰的图像。基于以上你得到的资料,提出一个检测未完全装满的瓶子的解决方案。清楚地表述你做的所有设想和很可能对你提出的解决方案产生影响的假设。 二、实验思路分析: 三、实验步骤 步骤一:读入原始图像

步骤二:将图像进行二值化处理 BW = im2bw(I,0.7); 由于原始图像中白色比较明显,瓶身的颜色和背景比较相近,所以直接进行二值化处理,将未装满液体的信息提取出来。 步骤三:将图像聚类后进行连通域的膨胀。 将图像二值化后发现图中存在噪声,选择将图像进行模糊膨胀后再二值化处理,从而去掉小连通域的干扰。 步骤四:重新二值化膨胀后的图像

步骤五:标记连通域,并统计每个连通域的面积。 经统计得到从左到右的连通域面积分别为3495 4398 11212 4398 2573,限定范围,可知11212对应的连通域所对应的瓶子是不符合要求的。 四、实验代码 功能:找出图像中灌装不合格的瓶子。 说明:(1)输入的图像必须是灰度图,否则需要将之格式转换。 (2)图像处理的步骤是:①对灰度图像glass.jpg进行二值化,②进行形态学处理, ③计算白色连通区域的面积和质心等,④通过判断质心的坐标和未装灌的面积得出是否合格。图像处理后五个白色区域面积为: [2374, 2739, 8381, 2739, 1660;] 五个质心的坐标数据: [20.6251,48.0434,138.6046,46.6575,256.2667,84.9748,376.6046,46.6575,484.6181,47.9084;] 通过没有装灌部分的面积大于2900来判定装灌不合格,两个合格的值为2739,其余未照全的部分判断还可以 根据其质心判断,合格的瓶子为46.6575,坐标过大也不合格,这里取50。 源代码: clear all; close all; T = 200; % 全局阈值200时效果要好一些,手动选出的值 %step1 读取和显示原始图像,显示原始图像的直方图 picOP = imread('glass.jpg'); % 读入图像 figure,imshow(picOP),title('原始灰度图像'); % 显示图像 figure, imhist(picOP), title('原始灰度图像直方图'); % 显示原始图像的直方图 % step2 转化为二值图像 picB = picOP; % 复制灰度图像到picB picBW = im2bw(picB,T/255); % 采用全局阈值进行灰度图像转变为二值图像 figure,imshow(picBW),title('全局阈值下二值图像'); % 显示二值图像 % step3 进行形态学操作,转化为有利于处理的图像 picMORPHOLOGY = picBW ; % 复制准备形态学处理 se = strel('square',10); % 结构化元素 fo = imopen(picMORPHOLOGY,se); % 开操作 figure,imshow(fo),title('开运算之后图像'); % 输出开运算之后图像 % step4 计算出各个白色连通区域(未装灌区域)面积和质心坐标

数字图像处理实验一

数字图像处理—实验一 一.实验内容: 图像灰度变换 二.实验目的: 学会用Matlab软件对图像灰度进行变换;感受各种不同的灰度变换方法对最终图像效果的影响。 三.实验步骤: 1.获取实验用图像:rice.jpg. 使用imread函数将图像读入Matlab。 程序: clc;clear; figure; subplot(4,4,1); i = imread('rice.png'); i = im2double(i); imshow(i);title('1'); 2.产生灰度变换函数T1,使得: 0.3r r < 0.35 s = 0.105 + 2.6333(r – 0.35) 0.35 ≤r ≤0.65

1 + 0.3(r – 1) r > 0.65 用T1对原图像rice.jpg进行处理,使用imwrite函数保存处理后的新图像。程序: subplot(4,4,2); r=[0:0.001:1]; s=[r<0.35].*r*0.3+[r<=0.65].*[r>=0.35].*(0.105+2.6333*(r-0.35))+[r>0.65].*(1 +0.3*(r-1)); plot(r,s);title('2p'); subplot(4,4,3); T1=[i<0.35].*i*0.3+[i<=0.65].*[i>=0.35].*(0.105+2.6333*(i-0.35))+[i>0.65].*( 1+0.3*(i-1)); imshow(T1);title('2i'); imwrite(T1,'rice_T1.jpg','jpg');

3.产生灰度变换函数T2,使得: 用T2对原图像rice.jpg进行处理,使用imwrite保存处理后的新图像。 %3 subplot(4,4,4); r = [0:0.001:1];

数字图像处理实验5 图像压缩

实验5 图像压缩 一.实验目的: 1.掌握图像压缩的原理——编码冗余,压缩比C R的计算等。 2.了解并掌握霍夫曼编码的原理、实现步骤。 3.掌握JPEG标准——通用的图像压缩/解压缩编码标准。 二.实验内容: 1.利用已给出的MATLAB自编函数库matlab_function文件夹,实现压缩比的计算。 2.对信号源符进行霍夫曼编码,以消除信源的冗余数据。 3.练习JPEG标准的压缩/解压缩技术。 三.实验原理: 1.图像压缩比C R的计算 函数imratio(f1, f2),计算图像压缩比C R,该函数来自MATLAB自编函数库matlab_function文件夹,语法如下: imratio(imread(‘filename’), ‘filename.jpg’) //第二个参数‘filename.jpg’仅是文件名,实际上是一个结构,内含压缩 //后的各种压缩信息,并不代表图像本身 >>f = imread(‘E:\医学图像处理实验讲义\实验五\car_lady.jpg’) >>imfinfo E:\医学图像处理实验讲义\实验五\car_lady.jpg //查看图像文件的详细信息 >>imwrite(f, ‘car_lady25.jpg’, ‘quality’, 25) //将压缩后的图像存到MATLAB默认路径中 >>imfinfo car_lady25.jpg //可依据图像信息计算出压缩率 >>f25 = imread(‘car_lady25.jpg’) >>Cr = imratio (f25, ‘car_lady25.jpg’) 2.霍夫曼编码 符号概率 a1 0.1875 a2 0.5 a3 0.125 a4 0.1875 函数huffman(p)进行霍夫曼编码,语法: huffman(p) //p为向量符号 >>p = [0.1875 0.5 0.125 0.1875] >>c = huffman(p)

数字图像处理实验报告

目录 实验一:数字图像的基本处理操作 (4) :实验目的 (4) :实验任务和要求 (4) :实验步骤和结果 (5) :结果分析 (8) 实验二:图像的灰度变换和直方图变换 (9) :实验目的 (9) :实验任务和要求 (9) :实验步骤和结果 (9) :结果分析 (13) 实验三:图像的平滑处理 (14) :实验目的 (14) :实验任务和要求 (14) :实验步骤和结果 (14) :结果分析 (18) 实验四:图像的锐化处理 (19) :实验目的 (19) :实验任务和要求 (19) :实验步骤和结果 (19) :结果分析 (21)

实验一:数字图像的基本处理操作 :实验目的 1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用; 2、实现图像的读取、显示、代数运算和简单变换。 3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。:实验任务和要求 1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分 成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分 别显示,注上文字标题。 3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换, 显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。 4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里 叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的 对应关系。 :实验步骤和结果 1.对实验任务1的实现代码如下: a=imread('d:\'); i=rgb2gray(a); I=im2bw(a,; subplot(1,3,1);imshow(a);title('原图像'); subplot(1,3,2);imshow(i);title('灰度图像'); subplot(1,3,3);imshow(I);title('二值图像'); subplot(1,3,1);imshow(a);title('原图像'); 结果如图所示:

实验五 图像复原

信息工程学院实验报告 课程名称:数字图像处理Array 实验项目名称:实验五图像复原实验时间: 班级:姓名:学号: 一、实验目的 1.了解图像退化/复原处理的模型; 2. 掌握图像复原的原理及实现方法; 3. 通过本实验掌握利用MATLAB编程实现图像的恢复。 4. 掌握matlab代码的调试方法,熟悉常见代码错误及改正方法。 二、实验步骤及结果分析 MATLAB图像处理工具箱包含四个图像复原函数,请参照教材第126页例6.8编程实现图像复原。 1.用点扩散(PSF)函数创建运动模糊图像,修改参数改变模糊程度。 a) 无噪声运动模糊图像 b) 有噪声运动模糊图像 程序代码: I=imread('cameraman.tif'); %读取图像 subplot(1,3,1); imshow(I,[]);%显示图像 title('原始图像'); PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11 Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理 subplot(1,3,2); imshow(Blurred,[]);title('无噪声运动模糊图像'); %显示无噪声运动模糊图像 Noise=0.05*randn(size(I)); %正态分布的随机噪声 BlurredNoisy=imadd(Blurred,im2uint8(Noise));%对退化后的图像附加噪声 subplot(1,3,3); imshow(BlurredNoisy,[]);title('有噪声运动模糊图像'); %显示运动模糊且加噪声后图像 执行结果:

数字图像处理实验报告

目录 实验一:数字图像的基本处理操作....................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验二:图像的灰度变换和直方图变换............................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验三:图像的平滑处理....................................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验四:图像的锐化处理......................................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。

相关主题
文本预览
相关文档 最新文档