指纹自动识别系统的设计

上传人:无*** 文档编号:100092581 上传时间:2022-06-02 格式:DOC 页数:54 大小:1.34MB
收藏 版权申诉 举报 下载
指纹自动识别系统的设计_第1页
第1页 / 共54页
指纹自动识别系统的设计_第2页
第2页 / 共54页
指纹自动识别系统的设计_第3页
第3页 / 共54页
资源描述:

《指纹自动识别系统的设计》由会员分享,可在线阅读,更多相关《指纹自动识别系统的设计(54页珍藏版)》请在装配图网上搜索。

1、理工大学毕业设计论文指纹自动识别系统学院系:专业_学生:指导1 绪 论1.1、指纹自动识别技术的历史、现状和未来自动指纹识别技术是一种有着广泛应用背景的身份鉴定技术。本论文主要介绍了自动指纹识别系统的指纹图像处理和指纹匹配两部分。指纹识别的基本原理为:采用细节点坐标模型来做细节匹配,即对指纹的脊线末梢和指纹的脊线分支点提取特征点来鉴定指纹。具体的自动指纹识别系统框图见图1-1。图1-1 自动指纹识别系统框图考古证实,公元前7000年到6000 年以前,古叙利亚和中国,指纹作为身份鉴别己经开始应用。考古发现,在这个时代,一些粘土陶器上留有陶艺匠人的指纹,中国的一些文件上印有起草者的大拇指指纹,在

2、 Jercho 的古城市的房屋留有砖匠一对大拇指指纹的印记等。虽然指纹的一些特征己经被人们认识和接受而不能证明,但指纹己广泛应用社会的各个方面。19世纪初,科学研究发现了至今仍然承认的指纹的两个重要特征:一是两个不同手指的指纹脊线的式样不同,另外一个是指纹脊线的式样终生不改变。这个研究成果使得指纹在犯罪鉴别中得以正式应用。 20世纪 60年代,由于计算机可以有效的处理图形,人们开始着手研究利用计算机来处理指纹。从那时起,自动指纹识别系统 AFIS在法律实施方而的研究和应用在世界许多国家展开。20世纪80年代,个人电脑、光学扫描这两项技术的革新,使得它们作为指纹取像的工具成为现实,从而使指纹识别

3、可以在其他领域中得以应用,比如代替IC卡。现在,低价位取像设备的引入及其飞速发展,可靠的比对算法的发现为个人身份识别应用的增长提供了舞台。对指纹识别技术来说,被广泛接受意味着在影响千万人的日常生活的各个地方使用。通过取代个人识别码和口令,指纹识别技术可以阻止非授权的访问,可以防止盗用 ATM、蜂窝、智能卡、桌面 PC、工作站及其计算机网络;在通过、网络进行的金融交易时进行身份认证;在建筑物或工作场所,指纹识别技术可以取代钥匙、证件、图章和卡阅读器。然而,必须指出的是,指纹识别技术到目前在国乃至世界上仍未普及,其主要原因是:速度慢,目前一般系统辨别时需要数秒钟甚至更长;价格高,系统过于昂贵;性能

4、差,错误拒识率False Reject Rate:FRR和错误接受率FalseAccepted Rate:FAR过高。因此,对快速而精确的指纹识别方法的研究有着重要的科学意义和应用价值。一般来说,一个指纹自动识别系统主要包括指纹图像提取子系统、指纹识别子系统和指纹压缩存储子系统几个部分组成。其中,指纹识别子系统是整个系统的核心部分,包括指纹图象处理、特征提取、指纹分类及匹配等四部分。本文将主要对指纹图象处理和特征提取的部分算法加以讨论和研究。1.2、本文的主要研究工作本文主要的研究容是在VC+环境下实现指纹图像的小波变换和预处理,同时还研究指纹特征提取及匹配算法问题。全文对小波的基本理论进行了

5、简要介绍,并对指纹图像小波变换的实现、基于小波变换频率特性的应用指纹图像滤波处理、指纹图像增强处理的理论以及VC+编程实现进行了比较深入地研究,并列出了实现程序。此外,本文还在对指纹图像的预处理方法进行分析和研究的基础上,提出了一套指纹预处理算法,采用该算法可以得到清晰的指纹点线图,效果较为突出。第2章 VC+环境下小波变换及指纹图像处理2.1 小波的基本理论2.1.1 小波分析图像处理小波变换是最近20多年来发展起来的用于信号分析和信号处理的一种新的域变换技术。由于小波变换是把信号在不同尺度上进行小波展开,它更适合于处理突变信号和非平稳信号。小波变换技术已受到人们极大的重视。Fourier变

6、换是数学分析中最古老的学科之一,即一个信号可表示成一系列正弦和余弦函数之和。但Fourier变换只有频率分辨率而没有时间分辨率,这就意味我们可以确定信号中包含的所有频率,但不能确定具有这些频率的信号出现在什么时候,只适宜处理平稳信号。在非平稳信号的分析中,人们希望存在一种变换函数,能够满足在高频信号中,有相对小的时间间隔以便给出较高的精度,而在低频信号中能够以相对较宽的时间间隔给出完全的信息。小波是有限宽度的基函数,这些基函数不仅在频率上而且在位置上是变换的,它们是有限宽度的波。基于它们的变换称为小波变换。小波变换具有时间一频率自动伸缩能力,这种能力可以在任何希望的频率围上产生频谱信息。小波理

7、论的提出可追溯到1910年Haar提出的规正交基。1975年Caldern发表了接近小波级数展开的再生公式,1981年Stromberg对Harr系进行了改进,证明了小波函数的存在性。1984年法国地理学家Morlet在分析地震波的局部性质时引入了小波的概念,继而Y. Meyer于1986年创造性地构造出了具有一定衰减性的二进小波函数,扫除了人们对于小波函数是否存在的疑虑,从而真正掀起了小波研究的热潮。同年,S. Mallat将多分辨率分析的概念引入了小波分析及小波函数的构造中,并将小波函数的构造统一于多分辨率分析的框架之下,同时,Mallat提出的快速算法使小波变换从理论研究进一步走向各种应

8、用领域。1988年Daubechies构造出了具有紧支集的正交小波集。1989年,Goifman, Meyer和Quake等引入了小波包。1990年,崔锦泰和王建忠构造了基于样条函数的单正交小波函数。1992年,Coher, Daubechies, Feauveau提出了具有紧支撑的双正交小波基。至此,小波理论系统的构架得以建立,它为原来信号处理领域里各自独立的方法,如多尺度分析、拉普拉斯金字塔、精确重建滤波器组等提供了一个统一的理论框架。随着理论研究的不断深入和应用领域的不断扩展,小波分析越来越显示出它的独特魅力。1、小波概念小波变换的定义是把某一被称为基本小波的函数做位移后,再在不同尺度下

9、与待分析的信号做积:等效的频域表示是:式中和分别是和的傅里叶变换。小波变换有以下特点:1 有多分辨率,也叫多尺度的特点,可以由粗及细地逐步观察信号。2 可以看成用基本频率特性为的带通滤波器在不同尺度下对信号做滤波。由于傅里叶变换的尺度特性可知,这组滤波器具有品质因数恒定,即相对带宽恒定的特点。注意,越大相对频率越低。3 适当地选择基小波,使在时域上为有限支撑,在频域上也比较集中,就可以使在时、频域都具有表征信号局部特征的能力,因此有利于检测信号的瞬态或奇异点。正如上所述,小波分析的一个主要优点就是能够分析信号的局部特征。比如说,采用小波分析可以发现叠加在一个非常规的正弦信号上的一个非常小的畸变

10、信号的出现时间。传统的傅里叶变换只能得到平坦的频谱上的两个尖峰。利用小波分析可以非常准确地分析出信号在什么时刻发生畸变。小波分析可以检测出许多其他分析方法忽略的信号特性,例如,信号的趋势、信号的高阶不连续点、自相似特性。小波分析还能以非常小的失真度实现对信号的压缩与消噪,它在图像数据压缩方面的潜力已经得到确认。在二维情况下,小波分析除了显微能力外还具有极化能力,因而引人注意。2、小波在图像处理中的应用图像处理是小波分析应用的重要领域,近年来小波分析已被证明是进行图像处理强有力的工具之一,由于小波分析技术可以将信号或图像分层次按小波基展开,并且可以根据图像的性质及事先给定的图像处理要求确定到底要

11、展开到哪一级为止,从而不仅能有效地控制计算量,满足实时处理的需要,而且可以方便地实现通常由子带编码技术实现的累进编码。同时,小波变换具有放大、缩小和平移的功能,能够很方便地产生各种分辨率的图像,从而适合于不同分辨率图像的处理。因此,近十年来,基于小波变换的图像压缩算法得到了很大发展,取得了许多重要的成果,而且越来越成为该领域研究和应用的热点。2.1.2连续小波变换 1、定义对任意信号,f的连续小波变换定义是:a为尺度因子,b为平移因子。如果满足容许条件; ,则称为容许小波,可由恢复原信号其中,根据Parseval 恒等式:可见 f的连续小波变换就相当于f通过传递函数为的系统的输出。2、特性在介

12、绍小波特性之前先给出窗函数的概念。(1) 定义 :非平凡函数L2,称为一个窗函数.如果也是属于L2的,一个窗函数的的中心t2与半径,定义分别是:假定与都是窗函数,窗函数的中心与半径分别用t2与半径给出,那么函数是中心在b+at*且半径等于a的一个窗函数,因此由式可知连续小波积分给出了信号f具有时间窗b十at*-a,b+at*+a 的局部信息;窗函数的中心与半径分别用w*与表示,则由式可知除了一个倍数与一个线性相位移。外,连续小波变换还给出了f的一个具有频率窗的局部信息.由以上分析可知当尺度a变化时,对应一系列带通系统,并且可以得出以下结论:1信号f的连续小波变换就是一系列带通滤波器对f滤波后的

13、输出,a反映了带通滤波器的带宽和中心频率,b则为滤波输出的时间参数。2a变化,带通滤波器的带宽和中心频率也变化。a变小,中心频率变大,带宽变宽:a变大,中心频率变小,带宽变窄f通过带通滤波器滤波,对分析信号的局部特性很有价值。信号变化缓慢的地方,主要为低频成份,频率围也较窄,此时小波变换带通滤波器应相当于a大的地方:反之,信号发生突变的地方,主要是高频成份,频率围也较宽,小波变换的带通滤波器相当于a小的情况。即伸缩因子a有大到小变化,滤波的围也从低频到高频变化。2.1.3离散小波变换将连续小波变换的尺度a离散化按照2的幕级数进行,和时间位移b进行离散化,就得到离散小波变换。通常a的离散化按照2

14、的幂级数进行,即:,b的离散化为。所以,信号f的离散小波变换定义为:其中取离散正交小波基,是尺度j下的f的离散小波变换,离散小波变换具有以下的特性;1、是小波函数以在尺度上的伸缩和时域上的平移得到的。随j的变化,在频域上处于不同的频段,随k的变化,在时域上处于不同的时段,所以离散小波变换是一种信号的时间一频率分析;2 、尺度j减小时, 在时域上伸展,在频域上收缩,中心频率降低变换的时域分辨率降低,频域分辨率提高;尺度j增大时,在时域上收缩,在频域上伸展,中心频率升高,变换的时域分辨率提高,分辨率的时频域分析。频域分辨率降低。所以,离散小波变换是一种多分辨率的时频域分析。2.1.4 指纹图像二维

15、小波变换概念及算法1、概念:一维信号的离散小波变换很容易推广到二维的情况。假设是一个一维的尺度函数,是相应的小波函数,那么,可以得到一个二维小波变换的基础函数:,2、算法 图像可以看作是二维的矩阵,一般假设图像矩阵的大小为NN,且有N2nn为非负的整数。那么每次小波变换后,图像便分解为4个大小为原来尺寸的子块频带区域,如图2-2所示,分别包含了相应频带的小波系数,相当于在水平方向和竖直方向上进行隔点采样。进行下一层小波变换时,变换数据集中在LL频带上,图2-3所示为3层小波变换的系数分布。 等式2.11至等式2.14说明了图像小波变换的数学原型。LL频带,该频带保持了原始图像容信息,图像的能量

16、集中于此频带: HL频带,该频带保持了图像水平方向上的高频边缘信息: 2.12 LH频带,该频带保持了图像竖直方向上的高频边缘信息: 2.13 HH频带,该频带保持了图像在对角线方向上的高频信息: 其中表示积运算。图2-2 一次离散小波变换后的频率分布 图2-3 3层小波变换后的频率分布2.1.5 二维小波变换编程实现及运行结果 下面将详细地按编程步骤对图像小波变换地实现进行分析。1函数描述DWT_Once完成一次图像的小波变换2函数参数short *spOriginData:二维指针,指向原始的图像数据short *spTransData0:小波变换系数,存放一次水平变换后的小波系数shor

17、t *spTransData1:小波变换系数,存放一次数值变换后的小波系数int nHeight:图像属性参数,数值为原始图像的高度值int nHeight_H:图像属性参数,数值为原始图像高度值的一半int nWidth:图像属性参数,数值为原始图像的宽度值int nWidth_H:图像属性参数,数值为原始图像宽度值的一半int layer:小波变换的层数,数值为1层float fRadius:小波变换因子,在调用时候已指定数值为1.4143函数代码void CWvltTrans:DWT_Onceint Trans_W, /图像扫描线控制:横坐标Trans_H, /图像扫描线控制:纵坐标Tr

18、ans_M, /图像矩阵的横坐标Trans_N; /图像矩阵的纵坐标short Trans_Coeff0; /小波变换系数signed short Trans_Coeff1;fRadius=1.414; /变换滤波系数 /本模块完成变换系数的赋值采样 /行变换,第一次layer=1时时nHeight即为原始图像的高度值 forTrans_H=0; Trans_H if /layer=1时,nWidth_H为原始图像宽度值的一半forTrans_N=0; Trans_N Trans_W=Trans_N1; if spTransData0Trans_HTrans_N = ;spTransData0

19、Trans_HnWidth_H+Trans_N=;elsespTransData0Trans_HTrans_N = ;spTransData0Trans_HnWidth_H+Trans_N=spOriginDataTrans_HTrans_W+1-128; /若变换层数大于1,则仅采样低频的小波系数if 1forTrans_N=0; Trans_NTrans_W=Trans_N1;spTransData0Trans_HTrans_N = spTransData1Trans_HTrans_W;spTransData0Trans_HnWidth_H+Trans_N= spTransData1Tra

20、ns_HTrans_W+1;forTrans_H=0; Trans_HforTrans_N=0; Trans_N /奇偶数值和的一半Trans_Coeff1= 1; /逻辑非操作后数值加1Trans_Coeff1=Trans_Coeff1+1; /系数预测spTransData0Trans_HnWidth_H+Trans_N= spTransData0Trans_HnWidth_H+Trans_N+Trans_Coeff1; /完成一个偶系数的边界处理Trans_Coeff1 = 1;Trans_Coeff1=Trans_Coeff1+1;spTransData0Trans_HnWidth-1

21、= spTransData0Trans_HnWidth-1+Trans_Coeff1; /完成一个奇系数的边界处理Trans_Coeff0= 2;spTransData0Trans_H0 = spTransData0Trans_H0+Trans_Coeff0; /提升,整数到整数的变换forTrans_N=1; Trans_NTrans_Coeff0 = 2;spTransData0Trans_HTrans_N= spTransData0Trans_HTrans_N+Trans_Coeff0; /水平方向的变换结束 /竖直方向的变换开始,数据源未水平变换后的小波系数forTrans_M=0;

22、Trans_MforTrans_N=0; Trans_NspTransData0Trans_MTrans_N*=fRadius;spTransData0Trans_MTrans_N+nWidth_H/=fRadius;/行提升后的数据在spTransData0中,spTransData0中的数据自然奇偶有序forTrans_N=0; Trans_N /列变换forTrans_M=0; Trans_MTrans_H =Trans_M1; /频带LL部分spTransData1Trans_MTrans_N = spTransData0Trans_HTrans_N; /频带HL部分spTransDa

23、ta1nHeight_H+Trans_MTrans_N = spTransData0Trans_H+1Trans_N; /频带LH部分spTransData1Trans_MnWidth_H+Trans_N = spTransData0Trans_HnWidth_H+Trans_N; /频带HH部分spTransData1nHeight_H+Trans_MnWidth_H+Trans_N = spTransData0Trans_H+1nWidth_H+Trans_N; /第一次提升奇数坐标系数forTrans_M=0; Trans_M /竖直方向的变换 Trans_Coeff1 = 1;Tran

24、s_Coeff1=Trans_Coeff1+1;spTransData1nHeight_H+Trans_MTrans_N = spTransData1nHeight_H+Trans_MTrans_N+Trans_Coeff1;Trans_Coeff1= 1;Trans_Coeff1=Trans_Coeff1+1;spTransData1nHeight_H+Trans_MnWidth_H+Trans_N = spTransData1nHeight_H+Trans_MnWidth_H+Trans_N+Trans_Coeff1;Trans_Coeff1 = 1;Trans_Coeff1=Trans_

25、Coeff1+1;spTransData1nHeight-1Trans_N = spTransData1nHeight-1Trans_N+Trans_Coeff1;Trans_Coeff1 = 1;Trans_Coeff1=Trans_Coeff1+1; /边界处理spTransData1nHeight-1nWidth_H+Trans_N = spTransData1nHeight-1nWidth_H+Trans_N+Trans_Coeff1;Trans_Coeff0 = 2;spTransData10Trans_N = spTransData10Trans_N+Trans_Coeff0;Tr

26、ans_Coeff0 = 2; /边界处理spTransData10nWidth_H+Trans_N = spTransData10nWidth_H+Trans_N+Trans_Coeff0; /第一次提升偶数坐标系数forTrans_M=1; Trans_MTrans_Coeff0 = 2;spTransData1Trans_MTrans_N = spTransData1Trans_MTrans_N+Trans_Coeff0;Trans_Coeff0 = 2;spTransData1Trans_MnWidth_H+Trans_N = spTransData1Trans_MnWidth_H+T

27、rans_N+Trans_Coeff0;/存放小波系数,LL频带的系数进行幅值增强处理,其高频频带的系数则削弱其幅值forTrans_N=0; Trans_NforTrans_M=0; Trans_MspTransData1Trans_MTrans_N*=fRadius;spTransData1Trans_M+nHeight_HTrans_N/=fRadius; 上面的代码完成了图像的一层小波变换,图像变换的结果存放在spTransData1所指的数据空间中,spTransData1的数据空间是在CWvltDoc中根据实际图像的大小指定的。下面来分析一下CWvltDoc的程序代码,了解一下函数

28、的传递和消息传递。 在实际编程中,图像的类型是24位bmp图像,并且默认的是R、G、B分量相同的灰度图像,如果打开的是彩色图像,程序会以默认的灰度图像格式进行处理。如果需要处理彩色图像,可以通过分别对R、G、B分量进行小波变换,然后将分量的小波系数进行映射,这样便能正确地显示小波系数。 一层小波变换地菜单以及小波ID的设定如图2-4和图2-5所示。图2-4 菜单部分图2-5 菜单的消息ID下面的代码是关于实现图像的一层小波变换及其小波系数的显示。void CWvltDoc:OnWvltTransOnce / TODO: Add your command handler code here/读取

29、数字图像的文件头,获取图像的属性参数LPBITMAPINFOHEADERlpBitmapInfoHeader = ;LPBITMAPFILEHEADER lpBitmapFileHeader = m_pBitmap;unsigned char *lpData = m_pBitmap + lpBitmapFileHeader-bfOffBits;unsigned long biHeight = lpBitmapInfoHeader-biHeight;unsigned long biWidth = lpBitmapInfoHeader-biWidth;unsigned long biAlign =

30、 /4 *4;unsigned long bmSize = biHeight * biAlign;ifm_pTransfered= malloc ;ifreturn; /图像矩阵坐标与像素数据int x,y,cur;unsigned char tempR, tempG, tempB;float fTempBufforDisp;short MaxPixVal,MinPixVal,Diff;short *spOriginData, *spTransData0, *spTransData1; /分配图像小波变换所用的数据空间spOriginData = new short* biHeight;spT

31、ransData0 = new short* biHeight;spTransData1 = new short* biHeight;m_WvltCoeff= new short * biHeight;forint i = 0; i spOriginDatai = new short biWidth;spTransData0i = new short biWidth;spTransData1i = new short biWidth;m_WvltCoeffi = new short biWidth; /创建图像小波变换类CWvltTrans *pTrans; /从设备缓存中获取原始图像数据fo

32、ry=0; ybiHeight; y+for x=0; xbiWidth; x+cur = y*biAlign+3*x;tempB=lpDatacur;tempG=lpDatacur+1;tempR=lpDatacur+2;spOriginDatabiHeight-1-yx=; /no problem /完成一次图像小波变换pTrans-DWT_Once; /允许图像复原操作标志m_bOnce = TRUE;m_bOnce = m_bOnce & m_bTwice & m_bTribl & m_bFilter;MaxPixVal=spTransData100;MinPixVal=spTrans

33、Data100;for y=0; ybiHeight; y+for x=0; xbiWidth; x+ifMaxPixValMaxPixVal=spTransData1yx;ifspTransData1yxMinPixVal=spTransData1yx;m_WvltCoeffyx = spTransData1yx;Diff=MaxPixVal-MinPixVal;fory=0; ybiHeight; y+forx=0; xbiWidth; x+/因为小波变换后的小波系数有可能超过255甚至更多,那么就将/小波系数的围映射到0255区间,以后出现类似的处理,目的都是一样的fTempBuffor

34、Disp=spTransData1biHeight-1-yx;fTempBufforDisp-=MinPixVal;fTempBufforDisp*=255;fTempBufforDisp/=Diff;cur= y*biAlign+3*x;/current pixelm_pTransferedcur= fTempBufforDisp;m_pTransferedcur+1= fTempBufforDisp;m_pTransferedcur+2= fTempBufforDisp; /显示图像的小波系数UpdateAllViews; /删除临时的数据空间delete spOriginData;del

35、ete spTransData0;delete spTransData1;编译后,程序的运行如图2-6所示。图2-6 一层小波变换的运行结果除了图像的一层小波变换,很多应用使用的是图像的3层小波变换,下面将分析3层小波变换的实现代码。当变换层数大于1时,第2层以后的小波变换的对象是LL频带的小波系数,该频带的系数包含了图像的基本信息,它是图像能量集中的频带。这样LL便如第一层小波变换一般分成4个频带,其中LL仍然是下一层小波变换的数据源。 下面看一下3层小波变换的实现代码:1函数描述DWT_TriLayers完成三次图像的小波变换2函数参数short *spOriginData:二维指针,指向

36、原始的图像数据short *spTransData0:小波变换系数,存放一次水平变换后的小波系数short *spTransData1:小波变换系数,存放一次数值变换后的小波系数int nHeight:图像属性参数,数值为原始图像的高度值int nHeight_H:图像属性参数,数值为原始图像高度值的一半int nWidth:图像属性参数,数值为原始图像的宽度值int nWidth_H:图像属性参数,数值为原始图像宽度值的一半int layer:小波变换的层数,数值为3层float fRadius:小波变换因子,在调用时候已指定数值为1.4143函数代码VoidCWvltTrans:DWT_T

37、riLayersint i;short *pData, *pTran0, *pTran1; /图像的属性参数int iWidth, iHeight, iWidth_H, iHeight_H;float fr = fRadius; /获得数据空间的指针pData = spOriginData;pTran0 = spTransData0;pTran1 = spTransData1; /图像属性参数赋值iWidth = nWidth;iWidth_H = nWidth_H;iHeight = nHeight;iHeight_H = nHeight_H; /利用循环完成两次小波变换fori=1; iD

38、WT_Once;iHeight=iHeight1;iWidth=iWidth1;iHeight_H=iHeight/2;iWidth_H=iWidth/2;在CWvltDoc方面,首先给菜单选项定义消息ID,如图2-7所示。图2-7 消息ID的定义下面来看一下图像3层小波变换的实现,并完成小波系数的显示。void CWvltDoc:OnWvltTransTrbl / TODO: Add your command handler code here /读取数字图像的文件头,获取图像的属性参数LPBITMAPINFOHEADER lpBitmapInfoHeader = ;LPBITMAPFILE

39、HEADER lpBitmapFileHeader = m_pBitmap;unsigned char *lpData = m_pBitmap + lpBitmapFileHeader-bfOffBits;unsigned long biHeight = lpBitmapInfoHeader-biHeight;unsigned long biWidth = lpBitmapInfoHeader-biWidth;unsigned long biAlign = /4 *4;unsigned long bmSize = biHeight * biAlign;ifm_pTransfered= mall

40、oc ;ifreturn; /图像矩阵坐标与像素数据int x,y,cur;unsigned char tempR, tempG, tempB;float fTempBufforDisp;short MaxPixVal,MinPixVal,Diff;short *spOriginData, *spTransData0, *spTransData1; /分配图像小波变换的数据存空间spOriginData = new short* biHeight;spTransData0 = new short* biHeight;spTransData1 = new short* biHeight;m_Wv

41、ltCoeff= new short * biHeight;forint i = 0; i spOriginDatai = new short biWidth;spTransData0i = new short biWidth;spTransData1i = new short biWidth;m_WvltCoeffi = new short biWidth; /创建图像小波类CWvltTrans *pTrans; /从设备的图像缓存中获取原始图像的数据fory=0; ybiHeight; y+for x=0; xbiWidth; x+cur = y*biAlign+3*x;tempB=lpD

42、atacur;tempG=lpDatacur+1;tempR=lpDatacur+2;spOriginDatabiHeight-1-yx=; /no problem /完成图像的三次小波变换pTrans-DWT_TriLayers; /允许图像复员操作标志m_bTribl = TRUE;m_bTribl = m_bTribl & m_bTwice & m_bOnce & m_bFilter;MaxPixVal=spTransData100;MinPixVal=spTransData100; /得到小波系数的极大值和极小值for y=0; ybiHeight; y+for x=0; xbiWid

43、th; x+ifMaxPixValMaxPixVal=spTransData1yx;ifspTransData1yxMinPixVal=spTransData1yx;m_WvltCoeffyx = spTransData1yx; /计算出小波系数的极值差Diff=MaxPixVal-MinPixVal; /将图像的小波数据处理后放入显示缓存中fory=0; ybiHeight; y+forx=0; xbiWidth; x+ /因为小波变换后的小波系数有可能超过255甚至更多,那么就将/小波系数的围映射到0255区间,以后出现类似的处理,目的都是一样的fTempBufforDisp=spTran

44、sData1biHeight-1-yx;fTempBufforDisp-=MinPixVal;fTempBufforDisp*=255;fTempBufforDisp/=Diff;cur= y*biAlign+3*x;/current pixelm_pTransferedcur= fTempBufforDisp;m_pTransferedcur+1= fTempBufforDisp;m_pTransferedcur+2= fTempBufforDisp; /显示图像的小波变换UpdateAllViews; /删除临时的数据空间delete spOriginData;delete spTrans

45、Data0;delete spTransData1;编译完成后,如图2-8所示。图2-8 图像的3层小波变换2.2 基于小波变换的指纹图像滤波处理 小波变换不同于傅立叶变换,小波系数与原始图像存在着空间上的对应关系,这样对于滤波处理来说是十分有利的。我们可以通过了解小波系数的分布情况,通过不同的滤波器来处理小波系数,滤波后的小波变换经过逆变换后便能得到理想的处理结果。2.2.1 小波系数的频域分布 小波系数的空间分布同原始图像的空间分布具有很好的对应关系如图2-9所示。LL频带是图像容的缩略图,它是图像数据能量集中的频带。由于经过了小波系数的正规化处理,即等式的处理操作,所以系数的显示能看出图

46、像的容。而HL、LH和HH频带存放的是图像的细节信息,它们的关系如下:l HL频带存放的是图像水平方向的高频信息,它反映了图像水平方向上的变化信息和边缘信息;l LH频带存放的是图像竖直方向的高频信息,它反映了图像在竖直方向上的灰度变化信息和图像边缘信息;l HH频带存放的是图像在对角线方向的高频信息,它反映了水平方向和竖直方向上图像灰度的综合变化信息,同时包含了少量的边缘信息。2.2.2 基于小波变换的图像滤波处理图像滤波处理是通过滤波器将指定频带的能量进行有效的衰减而对于需要保留的频带能量进行增强。传统基于傅立叶变换的图像滤波处理大都采用傅立叶变换后的频率域的乘法运算,但是傅立叶变换的计算量大,并且变换后的频谱与原始图像的相关性不强。 小波变换将原始图像和变换系数之间建立了十分好的相关性。所以,在滤波器的设计上,可以针对不同频带分别设计。例如,需要削弱图像水平方向上的毛刺或高频

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!