数字图像处理作业题Read教程文件.docx
《数字图像处理作业题Read教程文件.docx》由会员分享,可在线阅读,更多相关《数字图像处理作业题Read教程文件.docx(14页珍藏版)》请在冰豆网上搜索。
数字图像处理作业题Read教程文件
数字图像处理作业题
1.以下是一个32级灰度图像(0表示黑色),其中包含了在灰色开始背景上的,带有一个白色标记的,直径是12英寸的黑色留声机唱片。
下面给出了图像的直方图。
试问象素间的间距是多大?
标记的尺寸是多大?
[0000100200200060002000200100002003000900030002000050100400100500000000]
解:
像素数乘以像素间距的平方等于物体的面积(S)。
表示唱片的像素总数:
100+200+2000+6000+2000+200+100+200+50+100+400+100+50=11300
S=
d=0.1(英寸)
表示白色标记的像素数为:
50+100+400+100+50=700
S=
r=1.5(英寸)
2.下面给出了在黑色背景上的白色台球的20级灰度图像的直方图0表示黑色),这个球是用每立方厘米1.5克的材料制成的。
象素间距是1mm。
试问球的重量是多少?
[0100500300090003000500200100200300500627500300200100000]
解:
由直方图可知,
表示台球的像素数为:
100+200+300+500+627+500+300+200+100=2827
S=
r=3cm
球的质量为:
原题:
下面给出了在黑色背景上的白色台球的20级灰度图像的直方图0表示黑色),这个球是用每立方厘米1.5克的材料制成的。
象素间距是1mm。
试问球的重量是多少?
[0200500300090003000500200100200300500627500300200100000]
3.图像平滑的直观依据是什么?
不同的平滑方法是如何看待噪音?
并使用了何种改进以尽量降低其对边缘的模糊?
对于平滑的快速性和边缘保持,你有何见解?
解:
图像在生成和传输过程中常受到各种噪声源的干扰和影响而使图像处理效果变差,反映在图像上,噪声使原本均匀和连续变化的灰度突然变大或减小,形成一些虚假的物体边缘或轮廓。
抑制和消除这类噪声而改善图像质量的过程称为图像平滑。
平滑方法大致可分为三种:
(1)邻域平均法
这种方法假设图像是由许多灰度恒定的小块组成,相邻像素间有很高的空间相关性,而噪声是统计独立地叠加在图像上的,其均值为0。
因此,可用像素邻域内的各像素灰度值的平均代表原来的灰度值,实现图像平滑。
在这种方法中使用梯度倒数加权平均法既可使图像得到平滑,又不致使边缘和细节有明显模糊。
(2)滤波法
从频谱上看,噪声特别是随机噪声是一种较高频率分量的信号。
平滑的目的就是通过一定的手段滤去这类信号。
(3)值滤波法
这种方法是对一个窗口内的所有像素的灰度值进行排序,取中间值作为中心点的值,它对脉冲干扰和椒盐类噪声效果较好。
造成模糊的原因是没有区分背景和目标像素的灰度值相加,从而模糊了目标和背景的边界。
解决的方案是避免这种情况的发生。
改进的方法有:
(1)K个邻点平均法
本来窗口中有N*M个像素,现在只用其中的k个像素的灰度平均值代替。
因为噪声的灰度值跟目标和背景的灰度值都不接近,所以噪音能被其周围(即邻域)的灰度值修改掉。
(2)超限平滑
在实际图像中,目标和背景之间存在过渡区,即目标和背景的边界上的像素的灰度值是由目标的灰度逐渐变化到背景的灰度的。
边界上的灰度值与标准算法得到的均值是接近的,而噪声则应当与均值由较大的差异。
4.试论述边缘提取的直观依据是什么?
在研究中,边缘有几种类型?
众多的边缘提取方法是如何对边缘建立模型来表示边缘,并基于所建模型怎样提取边缘?
解:
(1)图像边缘是图像局部特性不连续性(灰度突变、颜色突变等)的反映,它标志着一个区域的终结和另一个区域的开始。
边缘提取首先检出图像局部特性的不连续性,然后再将这些不连续的边缘像素连成完备的边界。
边缘的特性试验边缘走向的像素变化平缓,而垂直于边缘方向的像素变化剧烈。
(2)边缘分为屋顶状边缘和阶跃边缘。
(3)常用的边缘提取方法有:
边缘算子法、曲面拟合法、模板匹配法等。
在边缘算子法中,以微分算子法为例,微分算子法是利用梯度算子提取边缘,在图像灰度变化缓慢的区域其值较小,在图像灰度迅速变化的点处,其值较大,在目标区域其值为0。
曲面拟合法的基本思路是用一个平面或曲面去逼近一个图像面积元,然后用这个平面或曲面的梯度代替点的梯度,从而实现边缘检测。
5.现有一家公司欲进行印鉴比对系统的开发,要求支票上的印鉴能与印鉴库中存放的标准印鉴进行比对,即重合后求某种形式的图像差,分辨率200dpi,标准印鉴为二值图像。
请你设计一个软、硬件系统实现其功能,画出框图及软件流程,对各软件模块的算法说明越详细越好。
解:
硬件系统:
软件系统:
6.在(2k+1)×(2k+1)邻域用简单的局部平均法平滑图像,经过m次迭代后,其结果相当于在多大的邻域内求平均。
解:
经过m次迭代后,相当于在(2k+m)*(2k+1)的邻域内求平均。
7.下面给出了某个物体的边界点坐标,要求通过计算
来确定该物体是圆型还是方型。
X
97
85
66
42
22
10
9
21
40
64
84
96
Y
78
98
110
111
99
80
56
36
24
23
35
54
解:
圆形度
就是周长的平方与面积的比。
这个特征对圆形形状取最小值
,越复杂的图像取值越大。
8.如何为一个数字图像处理系统选择硬件?
如何分析和设计一个数字图像处理系统?
解:
基于计算机的图像处理系统的硬件一般包括图像输入设备、图像输出设备(打印机)、计算机和显示器。
数字图像处理系统的基本结构:
9.由于数字图像处理是大规模的矩阵运算,计算机编程效率的高低决定着一个系统能否进入实际应用。
写出一个对灰度图像进行灰度变换的算法,其变换函数为p(x,y)=F(p(x,y)),图像大小为512×512的256级灰度图像。
解:
BYTELUT[256]
for(p=0;p<256;p++)LUT[p]=F(p);
for(i=0,pCUR=Img;i<262144;i++)*(pCur++)=LUT[*pCur];
10.试给出把灰度范围(0,10)拉伸到(0,15),把灰度范围(10,20)拉伸到(15,25),并把灰度范围(20,30)压缩为(25,30)的变换方程。
解:
根据线性变换方程:
11.有一幅图像如下所示,由于干扰,在接收时图中有若干个亮点(灰度为255),试问此类图像如何处理?
并将处理后的图像画出来。
111874
22552333
33255433
33325546
33452558
234678
解:
开一个3×3的窗口,采用中值滤波方法,并使边界点的灰度值保持不变,处理结果如下:
111874
223333
333333
334456
334578
234678
12.在模式识别中,目标的曲折度可用于目标的分类,显然此曲折度与目标的大小无关,目标的旋转无关。
基于目标的外轮廓线可得到曲折度的描述。
如圆和直线是最不曲折的,大园和小园同样曲折。
目前国际上尚无好的曲折度函数,基本要求是尽量与人眼的评判一致,请你构造一个曲折度函数,0≤F(外轮廓)≤1。
13.由于数字图像处理是大规模的矩阵运算,计算机编程效率的高低决定着一个系统能否进入实际应用。
设一种图像为512×512的256级灰度图像,现需要求该图像的灰度平均值和方差,请用标准C语言给出你认为最快的实现算法,并说明理由。
解:
intBmpwidth,Bmpheight,Imagesize;
unsighedchar*Bmpdata;
intBrightness,Contrast,i,g;
BYTELUT[256];
Bmpwidth=512,Bmpheight=512;
Imagesize=Bmpwidth*Bmpheight;
for(i=0,brightness=0;i{
Brightness+=*(Bmpdata+i);
}
Brightness=Brightness/Imagesize;
for(g=0;g<256;g++)//设置查找表
{
LUT[g]=(g-Brightness)*(g-Brightness);
}
for(i=0,Contrast=0;i{
Contrast+=LUT[*(Bmpdata+i)];
}
Contrast=sqrt(Contrast/Imagesize);
计算对比度时设置查找表较为快速
14.试对下图进行直方图均衡化处理,并画出均衡化后的图像和直方图。
00001112
00001123
11111223
22222223
33333333
33333445
44444445
66667755
解:
图像为8*8大小的图像,图像的直方图有8个灰度级,由各灰度级所对应的像素个数及概率得到一组变换函数的值:
根据均衡化原理得
均衡化后的图像为:
00001112
00001123
11122223
22333333
44444444
55555556
56666666
77777777
均衡化后的直方图为:
15.假定你有两张相隔八个月拍摄的一病人的胸部X光片。
两张胶片都显示有一小瘤,该小瘤也许是良性的,也许是恶性的。
小瘤的大小和密度在八个月期间都发生了变化,但仅凭视觉检查,放射学家不能肯定小瘤是变得更坏或更好了。
下面是每幅图像的包含有小瘤的一块区域的直方图。
在胶片上,低灰度级代表黑色。
问小瘤是变大还是变小?
密度是变得更高还是更低?
记住X射线是负图像,越密的物体亮度越高。
[一月]
[05008000500100100200300200100000000]
[八月]
[05008000500100001002003002001000000]
假设另一病人的相应直方图如下:
[四月]
[0005005000500200100100200300200100000]
[十二月]
[000500525050020010010015020015050000]
解:
对第一个病人表示瘤的像素数为
S1=100+200+300+200+100=900,S8=100+200+300+200+100=900
瘤的大小不变
瘤所在区域的灰度平均值为
f1=(100*5+200*6+300*7+200*8+100*9)/900=7,f8=(100*7+200*8+300*9+200*10+100*11)/900=9
密度变高
对第二个病人表示瘤的像素数为
S4=100+200+300+200+100=900,S12=100+150+200+150+50=650
瘤变小
瘤所在区域的灰度平均值为
f4=(100*8+200*9+300*10+200*11+100*12)/900=10
f12=(100*8+150*9+200*10+150*11+50*12)/900=9.85
密度变低
16.试给出变换方程t(z),使其满足在10<=z<=100范围内,t(z)是log(z)的线性函数。
解:
根据灰度变换公式,得
t(z)=[(100-10)/(log100-log10)](log(z)-log10)+10
=90log(z)-80
易验证t(z)是log(z)的线性函数,且在变换域10<=z<=100内满足10<=t(z)<=100
17.试对下图进行轮廓编码
00000000
00222000
00222200
00000000
06666660
06666660
06666060
约定:
1.轮廓号、轮廓起始点位置和轮廓所包围的区域的灰度级用字节表示
2.轮廓方向序列用2进制4向链码
解:
利用T算法找出三条等值线,并由IP算法找到等值线的起始点,如下图所示
0A0R0R0R0R0R0R0D
0A02a2r2d000D
0A02a2r2r2d00D
0A0A0R0R0R0R0R0D
0R6a6r6r6r6r6d0R
0R6a666r6r6d0R
0R6a6r6r6d06r0R
对于每条等值线,其编码输出由等值线编号码字、灰度级码字、起始点空间坐标码字、方向序列码字四部分组成。
则三条等值线的编码分别为:
#1:
00,00,000,000,01,01,01,01,01,01,01,10,10,10,10,10,10,00,00,00,00,11,11,11,11,11,11,10,10,10,00,00,00,00,00,00
#2:
01,10,001,010,01,01,10,01,11,11,11,00
#3:
10,110,100,001,01,01,01,01,01,10,10,00,11,11,10,11,11,11,00,00
18.Hough变换是形状分析的重要手段,其速度是一个影响实用的障碍,试设计一个利用Hough变换求直线的快速算法?
若能考虑逐步求精更好。
解:
开一个二维数组作为计数器,第一维是角度,第二维是距离。
先计算可能出现的最大距离为
,用来确定数组第二维的大小。
对于每一个黑色点,角度从0到178度(为了减少存储空间和计算时间,角度每次加2度而不是1度)变化,按方程
(直线上每一点都满足这个方程),求出对应的距离s来,相应的计数器数组元素
加1。
#definePI3.1415926
DWORDBufSize;
intDist,Alpha;
HGLOBALhDistAlpha;
int*lpDistAlpha;
//计算最大距离
Dist=(int)(sqrt((double)bi.biWidth*bi.biWidth+
(double)bi.biHeight*bi.biHeight)+0.5);
Alpha=180/2;//0到to178度,步长为2度
//为距离角度数组分配内存
if((hDistAlpha=GlobalAlloc(GHND,(DWORD)Dist*Alpha*sizeof(int)))==NULL)
{
MessageBox(hWnd,"Errorallocmemory!
","ErrorMessage",MB_OK|
MB_ICONEXCLAMATION);
returnFALSE;
}
lpDistAlpha=(int*)GlobalLock(hDistAlpha);
//原图缓冲区的大小
BufSize=bf.bfSize-sizeof(BITMAPFILEHEADER);
for(y=0;y{
//lpPtr指向位图数据
lpPtr=(char*)lpImgData+(BufSize-LineBytes-y*LineBytes);
for(x=0;xif(*(lpPtr++)==0)//是个黑点
for(k=0;k<180;k+=2)
{
//计算距离i
i=(long)fabs((x*cos(k*PI/180.0)+y*sin(k*PI/180.0)));
//相应的数组元素加1
*(lpDistAlpha+i*Alpha+k/2)=*(lpDistAlpha+i*Alpha+k/2)+1;
}
}
GlobalUnlock(hDistAlpha);
GlobalFree(hDistAlpha);
19.假定你有两张磁盘,每张含有一幅关于一台球桌的四位的数字化图像(白色为15)。
两幅图像都从相同的照相机位置拍摄,其中一幅图像刚刚是最后比赛结束之前的镜头(桌上还有最后三个白球),另一幅图像恰好是桌子被清理干净之后的情形。
每张磁盘上均有其图像的直方图(如下)。
试问,哪幅图像中有球?
简略地画出两幅图像的直方图。
另外,如果你有第一幅图像减去只含有桌子的图像,以产生一幅没有背景的刚好在结束前镜头的图像,该差分图像的直方图看起来如何?
[磁盘1][010040070080060050060050040040060040010000]
[磁盘2][010030070070080050060050040040060050020000]
解:
两幅图像的直方图如下:
磁盘2图像中的球磁盘1图像中的球
由直方图可知,磁盘2中的图像中有球。
差分图像的直方图:
[00000000000010010000]
20.下面给出了某个物体的边界点坐标,要求通过计算
来确定该物体是圆型还是方型。
X
460
580
560
540
520
380
240
100
120
140
160
300
Y
160
180
320
480
600
580
560
540
400
260
120
140
21.假设你有一卷胶片,它是在一个银行遭到白天抢劫时由保安摄像机拍摄下来的。
在胶卷中的某一张,由一劫盗躲在柜台后,并迅速取下他的面具。
在他身旁,有一个镀铬的指经为24英寸的垂直柱子。
他的脸部被映在]了柱子上,但变形得非常厉害,不易辨认。
写出校正该坏蛋图像的变换格式。
假定柱子平行于数字图像的y轴,柱子上每英寸有10个像素。
还可假定与柱子距摄像机的距离和柱子距罪犯的距离相比,柱子的半径可忽略不计。
22.假设你有一张照片,拍的是被害人胳膊上一个咬痕。
照片是在对受害者进行验尸时拍下的。
遗体被火化了,但地方律师需要一张校正过的咬痕照片,以便用来与嫌疑犯的咬痕相比较后作为证据。
假设胳膊为一直径80mm的圆柱,与x轴平行。
设计一个几何变换方程,把图像的咬痕展平,以便与嫌疑犯在一块蜡板上的咬痕对比。
23.假设你有两张一位影星脸部的前后相隔30年的数字化图像。
希望在即将播出的纪录片中,在这两张图像中加入一些过渡照片,以反映其衰老的过程。
你发现,在第一张图中,这位明星的瞳孔位于位置(83,231)和(437,244),在第二张图中位于(64,281)和(479,370)。
它们是否有:
(a)平移,(b)转动,(c)尺度的变化?
变化了多少?
写出对第一张和第二张图进行配准所需要的几何变换。
假定除平移、转动、尺度变化外,没有几何变形。
解答:
在
坐标系中,设这位明星两张图像中的两个瞳孔位置所在直线方程分别为
第一张图中,两个瞳孔的中心点为(260,237.5);第二张图中,两个瞳孔的中心点为(271.5,325.5)。
所以这两张图的瞳孔位置有平移(11.5,88)。
将
的中点平移到
,得到
由于
与
的中心重合,二者的斜率不同,故两张图存在角度变化,角度差为
由两张图中的瞳孔间距之比可得到尺度的变化
24.名词解释
(1)直方图均衡化:
将原始图像变换为在每一灰度级上都有相同的像素点数目,即把原始直方图变换为均匀分布的形式,输出图像的直方图是平的。
(2)熵:
信息量的度量,其定义为:
其中
是符号
出现的概率。
在图像中,
是灰度级
出现的概率。
(3)图像分割:
按一定的规则将图像划分成若干有意义的区域。
(4)边缘提取:
图像边缘是图像局部特性不连续性的反应,它标志着一个区域的终结和另一个区域的开始。
边缘提取首先检出图像局部特性的不连续性,然后再将这些不连续的边缘像素连成完备的边界。
(5)DPI:
dotsperinch,图像分辨率的单位,即单位长度内的像素数,其单位是每英寸的点数。