您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > 级“数字图像处理”试题及答案
2007级“数字图像处理”试题及答案[原创2008-07-0217:49:06]字号:大中小一、填空题(每小题2分,本题共20分)1.图像与灰度直方图间的对应关系是多对一;2.下列算法中a.梯度锐化b.二值化c.傅立叶变换d.中值滤波,属于点处理的是b二值化;3.在彩色图像处理中,常使用HSI模型,它适于做图像处理的原因有:1、在HIS模型中亮度分量与色度分量是分开的;2、色调与饱和度的概念与人的感知联系紧密。;4.若将一幅灰度图像中的对应直方图中偶数项的像素灰度均用相应的对应直方图中奇数项的像素灰度代替(设灰度级为256),所得到的图像将亮度增加,对比度减少;5.MATLAB函数fspecial(type,parameters)常用类型有:average、gaussian、laplacian、prewitt、sobel、unsharp;6.检测边缘的Sobel算子对应的模板形式为:-1-2-1000121-101-202-1017.写出4-链码10103322的形状数:03033133;8.源数据编码与解码的模型中量化器(Quantizer)的作用是减少心里视觉冗余;9.MPEG4标准主要编码技术有DCT变换、小波变换等;10.图像复原和图像增强的主要区别是图像增强主要是一个主观过程,而图像复原主要是一个客观过程;第10题:图像增强不考虑图像是如何退化的,而图像复原需知道图像退化的机制和过程等先验知识二、名词解释(每小题5分,本题共20分)1、数字图像数字图像是指由被称作像素的小块区域组成的二维矩阵。将物理图像行列划分后,每个小块区域称为像素(pixel)。数字图像处理指用数字计算机及其它有关数字技术,对图像施加某种运算和处理,从而达到某种预想目的的技术.2、8-连通的定义-对于具有值V的像素p和q,如果q在集合N8(p)中,则称这两个像素是8-连通的。3、灰度直方图灰度直方图是指反映一幅图像各灰度级像元出现的频率。4、中值滤波中值滤波是指将当前像元的窗口(或领域)中所有像元灰度由小到大进行排序,中间值作为当前像元的输出值。像素的邻域邻域是指一个像元(x,y)的邻近(周围)形成的像元集合。即{(x=p,y=q)}p、q为任意整数。像素的四邻域像素p(x,y)的4-邻域是:(x+1,y),(x-1,y),(x,y+1),(x,y-1)三、简答题(每小题10分,本题共30分):1.举例说明直方图均衡化的基本步骤。直方图均衡化是通过灰度变换将一幅图象转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。直方图均衡化变换:设灰度变换s=f(r)为斜率有限的非减连续可微函数,它将输入图象Ii(x,y)转换为输出图象Io(x,y),输入图象的直方图为Hi(r),输出图象的直方图为Ho(s),则根据直方图的含义,经过灰度变换后对应的小面积元相等:Ho(s)ds=Hi(r)dr直方图修正的例子假设有一幅图像,共有64(64个象素,8个灰度级,进行直方图均衡化处理。根据公式可得:s2=0.19+0.25+0.2l=0.65,s3=0.19+0.25+0.2l+0.16=0.8l,s4=0.89,s5=0.95,s6=0.98,s7=1.00由于这里只取8个等间距的灰度级,变换后的s值也只能选择最靠近的一个灰度级的值。因此,根据上述计算值可近似地选取:S0≈1/7,s1≈3/7,s2≈5/7,s3≈6/7,s4≈6/7,s5≈1,s6≈l,s7≈1。可见,新图像将只有5个不同的灰度等级,于是我们可以重新定义其符号:S0’=l/7,s1’=3/7,s2’=5/7,s3’=6/7,s4’=l。因为由rO=0经变换映射到sO=1/7,所以有n0=790个象素取sO这个灰度值;由rl=3/7映射到sl=3/7,所以有1023个象素取s1这一灰度值;依次类推,有850个象素取s2=5/7这一灰度值;由于r3和r4均映射到s3=6/7这一灰度值,所以有656+329=985个象素都取这一灰度值;同理,有245+122+81=448个象素都取s4=1这一灰度值。上述值除以n=4096,便可以得到新的直方图。2.简述JPEG的压缩过程,并说明压缩的有关步骤中分别减少了哪种冗余?答:分块->颜色空间转换->零偏置转换->DCT变换->量化->符号编码。颜色空间转换,减少了心理视觉冗余;零偏置转换,减少了编码冗余;量化减少了心理视觉冗余;符号编码由于是霍夫曼编码加行程编码,因此即减少了编码冗余(霍夫曼编码)又减少了像素冗余(行程编码)。JPEG2000的过程:图像分片、直流电平(DC)位移,分量变换,离散小波变换、量化,熵编码。3、Canny边缘检测器答:Canny边缘检测器是使用函数edge的最有效边缘检测器。该方法总结如下:1、图像使用带有指定标准偏差σ的高斯滤波器来平滑,从而可以减少噪声。2、在每一点处计算局部梯度g(x,y)=[G2x+G2y]1/2和边缘方向α(x,y)=arctan(Gy/Gx)。边缘点定义为梯度方向上其强度局部最大的点。3、第2条中确定的边缘点会导致梯度幅度图像中出现脊。然后,算法追踪所有脊的顶部,并将所有不在脊的顶部的像素设为零,以便在输出中给出一条细线,这就是众所周知的非最大值抑制处理。脊像素使用两个阈值T1和T2做阈值处理,其中T1T2。值大于T2的脊像素称为强边缘像素,T1和T2之间的脊像素称为弱边缘像素。4、最后,算法通过将8连接的弱像素集成到强像素,执行边缘链接。四、计算题(每小题8分,本题共16分)1、2、设有一信源X={x1,x2,x3,x4},对应概率P={0.5,0.1875,0.1875,0.125}.⑴进行霍夫曼编码(要求大概率的赋码字0,小概率的赋码字1),给出码字,平均码长,编码效率;⑵对码串10101011010110110000011110011解码.x10.50+X20.18751X30.1875100+0.312510+0.51X40.1251010.187511X1:0X2:11X3:100X4:101平均码长:1*0.5+2*0.1875+3*0.1875+3*0.125=1.8125编码效率:信息熵/平均码长10101011010110110000011110011X4x1x4x4x1x2x1x2x1x1x1x1x1x2x2x1x1x2五、应用题(每小题14分,从下面两小题中任意选做一题,本题共14分)1.根据所学过的图像处理和分析方法,设计一套算法流程来实现汽车牌照的定位和数字的识别(给出设计思想即可)。答:要点:Step1:定位汽车牌照。通过高通滤波,得到所有的边缘,对边缘细化(但要保持连通关系),找出所有封闭的边缘,对封闭边缘求多边形逼近。在逼近后的所有4边形中,找出尺寸与牌照大小相同的四边形。牌照被定位。Step2:识别数字。对牌照区域中的细化后的图像对象进行识别(如前面所介绍的矩阵模糊识别法等)。2、试设计一套算法来实现染色体(图像见下图)的统计与识别(给出算法思想即可)。1.applylut功能:在二进制图像中利用lookup表进行边沿操作.语法:A=applylut(BW,lut)举例lut=makelut('sum(x(:))==4',2);BW1=imread('text.tif');BW2=applylut(BW1,lut);imshow(BW1)figure,imshow(BW2)相关命令:makelut2.bestblk功能:确定进行块操作的块大小.语法:siz=bestblk([mn],k)[mb,nb]=bestblk([mn],k)举例siz=bestblk([640800],72)siz=6450相关命令:blkproc3.blkproc功能:MATLAB高级应用——图形及影像处理320实现图像的显式块操作.语法:B=blkproc(A,[mn],fun)B=blkproc(A,[mn],fun,P1,P2,...)B=blkproc(A,[mn],[mbordernborder],fun,...)B=blkproc(A,'indexed',...)举例I=imread('alumgrns.tif');I2=blkproc(I,[88],'std2(x)*ones(size(x))');imshow(I)figure,imshow(I2,[]);相关命令:colfilt,nlfilter,inline4.brighten功能:增加或降低颜色映像表的亮度.语法:brighten(beta)newmap=brighten(beta)newmap=brighten(map,beta)brighten(fig,beta)相关命令:imadjust,rgbplot5.bwarea功能:计算二进制图像对象的面积.语法:total=bwarea(BW)举例BW=imread('circles.tif');imshow(BW);附录MATLAB图像处理命令321bwarea(BW)ans=15799相关命令:bweuler,bwperim6.bweuler.功能:计算二进制图像的欧拉数.语法:eul=bweuler(BW,n)举例BW=imread('circles.tif');imshow(BW);bweuler(BW)ans=-2相关命令:bwmorph,bwperim7.bwfill功能:填充二进制图像的背景色.语法:BW2=bwfill(BW1,c,r,n)BW2=bwfill(BW1,n)[BW2,idx]=bwfill(...)BW2=bwfill(x,y,BW1,xi,yi,n)[x,y,BW2,idx,xi,yi]=bwfill(...)BW2=bwfill(BW1,'holes',n)[BW2,idx]=bwfill(BW1,'holes',n)举例MATLAB高级应用——图形及影像处理322BW1=[1000000011111000100010101000111011110111100110101000101010001110]BW2=bwfill(BW1,3,3,8)BW2=1000000011111000111110101111111011110111100110101000101010001110I=imread('blood1.tif');BW3=~im2bw(I);BW4=bwfill(BW3,'holes');imshow(BW3)figure,imshow(BW4)相关命令:bwselect,roifill8.bwlabel功能:标注二进制图像中已连接的部分.语法:附录MATLAB图像处理命令323L=bwlabel(BW,n)[L,num]=bwlabel(BW,n)举例BW=[1110000011101100111011001110001011100010111000101110011011100000]L=bwlabel(BW,4)L=1110000011102200111022001110003011100030111000301110033011100000[r,c]=find(L==2);rc=[rc]rc=25352636相关命令:bweuler,bwselect9.bwmorph功能:提取二进制图像的轮廓.语法:BW2=bwmorph(BW1,operation)BW2=bwmorph(BW1,operation,n)举例BW1=imread('circles.tif');MATLAB高级应用——图形及影像处理324imshow(BW1);BW2=bwmorph(BW1,'remove');BW3=bwmorph(BW1,'skel',Inf);imshow(BW2)figure,imshow(BW3)相关命令:bweuler,bwperim,dilate,erode10.bwperim功能:计算二进制图像中对象的周长.语法:BW2=bwperim(BW1,n)举例BW1=imread('c
本文标题:级“数字图像处理”试题及答案
链接地址:https://www.777doc.com/doc-2133170 .html