发明名称 一种基于一维滤波的指纹图像增强方法
摘要 本发明提供一种基于一维滤波的指纹图像增强方法,属于图像处理技术领域。首先对灰度图像进行灰度截剪和灰度拉伸,使指纹图像的前景和背景的对比度得到增强;然后采用结构张量的性质对指纹的方向场进行精确估计;接着,采用一维高斯滤波器在脊线方向上对指纹图像进行平滑,采用一维Gabor滤波器在梯度方向(即垂直于脊线方向的方向)上对指纹图像进行增强。对增强后的指纹图像再次进行方向场估计和增强,这样迭代多次后的指纹图像能够达到比较好的效果。采用本发明的基于一维滤波的快速指纹增强算法能够大大在较少的时间内达到较好的增强效果,而且该算法对低质量指纹图像的增强特别有效。
申请公布号 CN101329726B 申请公布日期 2010.04.14
申请号 CN200810045693.0 申请日期 2008.07.30
申请人 电子科技大学 发明人 解梅;俞成浦
分类号 G06K9/00(2006.01)I;G06T5/00(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 代理人
主权项 1.一种基于一维滤波的指纹图像增强方法,包含下述步骤:步骤1、对指纹前景区域图像gray0进行灰度截剪和灰度拉伸以提高指纹脊线和谷线的对比度,具体包括以下步骤:步骤1-1、计算指纹前景区域图像gray0的灰度平均值Mean,上均值Upper_mean,下均值Under_mean,上标准差Upper_var和下标准差Under_var:<maths num="0001"><![CDATA[<math><mrow><mi>Mean</mi><mo>=</mo><mfrac><mn>1</mn><mi>MN</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>gray</mi><mn>0</mn><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mi>Under</mi><mo>_</mo><mi>mean</mi><mo>=</mo><mfrac><mn>1</mn><msub><mi>N</mi><mn>0</mn></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mn>0</mn></msub></munderover><mi>gray</mi><mn>0</mn><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>若gray0(i,j)<Mean;<maths num="0003"><![CDATA[<math><mrow><mi>Upper</mi><mo>_</mo><mi>mean</mi><mo>=</mo><mfrac><mn>1</mn><msub><mi>M</mi><mn>0</mn></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>M</mi><mn>0</mn></msub></munderover><mi>gray</mi><mn>0</mn><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>若gray0(i,j)>Mean;<maths num="0004"><![CDATA[<math><mrow><mi>Under</mi><mo>_</mo><mi>var</mi><mo>=</mo><msqrt><mfrac><mn>1</mn><msub><mi>N</mi><mn>0</mn></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mn>0</mn></msub></munderover><msup><mrow><mo>(</mo><mi>gray</mi><mn>0</mn><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>Under</mi><mo>_</mo><mi>mean</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo></msqrt></mrow></math>]]></maths>若gray0(i,j)<Mean;<maths num="0005"><![CDATA[<math><mrow><mi>Upper</mi><mo>_</mo><mi>var</mi><mo>=</mo><msqrt><mfrac><mn>1</mn><msub><mi>M</mi><mn>0</mn></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>M</mi><mn>0</mn></msub></munderover><msup><mrow><mo>(</mo><mi>gray</mi><mn>0</mn><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>Upper</mi><mo>_</mo><mi>mean</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo></msqrt></mrow></math>]]></maths>若gray0(i,j)>Meaan;上述公式中,gray0(i,j)表示指纹前景区域图像gray0中像素点(i,j)的灰度值,M为指纹前景区域图像gray0在一维横向上的像素点个数,N为指纹前景区域图像gray0在一维纵向上的像素点个数,MN为指纹前景区域图像gray0总的像素点个数,N<sub>0</sub>为灰度值小于平均灰度值Mean的像素点个数,M<sub>0</sub>为灰度值大于平均灰度值Mean的像素点个数;步骤1-2、对指纹前景区域图像gray0进行如下方式的灰度截剪,得到灰度截剪的指纹前景区域图像gray1,以消除尖锐噪声,具体包括以下步骤:<img file="F2008100456930C00016.GIF" wi="800" he="100" />步骤1-3、对经步骤1-2所得的灰度截剪后的指纹前景区域图像gray1按下述公式进行灰度拉伸,使灰度范围为[0,255],得到灰度拉伸的指纹前景区域图像gray2;<maths num="0006"><![CDATA[<math><mrow><mi>gray</mi><mn>2</mn><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>gray</mi><mn>1</mn><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>low</mi><mo>_</mo><mi>bound</mi></mrow><mrow><mi>high</mi><mo>_</mo><mi>bound</mi><mo>-</mo><mi>low</mi><mo>_</mo><mi>bound</mi></mrow></mfrac><mo>&times;</mo><mn>255</mn></mrow></math>]]></maths>其中,high_bound为步骤1-2灰度截剪后的指纹前景图像gray1的灰度最大值,low_bound为步骤1-2灰度截剪后的指纹前景图像gray1的灰度最小值;步骤2、计算经步骤1所得的灰度拉伸的指纹前景图像gray2的点方向场,具体包括以下步骤:步骤2-1、用高斯滤波器g<sub>σ</sub>对步骤1所得的灰度拉伸的指纹前景区域图像gray2进行平滑,得到平滑图像v。v=gray2*g<sub>σ</sub><maths num="0007"><![CDATA[<math><mrow><msub><mi>g</mi><mi>&sigma;</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><msqrt><mn>2</mn><mi>&pi;</mi></msqrt><mi>&sigma;</mi></mrow></mfrac><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><msup><mi>i</mi><mn>2</mn></msup><mo>+</mo><msup><mi>j</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><msup><mi>&sigma;</mi><mn>2</mn></msup></mrow></mfrac><mo>)</mo></mrow></mrow></math>]]></maths>其中,σ为高斯滤波器g<sub>σ</sub>的标准差,*代表卷积运算;步骤2-2、计算图像v的横向一阶差分图像v<sub>x</sub>和纵向一阶差分图像v<sub>y</sub>;步骤2-3、计算图像v的每一像素的结构张量S,其中g<sub>ρ</sub>是标准差为ρ的高斯滤波器,<maths num="0008"><![CDATA[<math><mrow><mi>S</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>a</mi></mtd><mtd><mi>b</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd><mtd><mi>c</mi></mtd></mtr></mtable></mfenced><mo>=</mo><msub><mi>g</mi><mi>&rho;</mi></msub><mo>*</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>v</mi><mi>x</mi><mn>2</mn></msubsup></mtd><mtd><msub><mi>v</mi><mi>x</mi></msub><msub><mi>v</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><msub><mi>v</mi><mi>x</mi></msub><msub><mi>v</mi><mi>y</mi></msub></mtd><mtd><msubsup><mi>v</mi><mi>y</mi><mn>2</mn></msubsup></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>其中,<img file="F2008100456930C00023.GIF" wi="242" he="64" />b=g<sub>ρ</sub>*v<sub>x</sub>v<sub>y</sub>,<img file="F2008100456930C00024.GIF" wi="242" he="64" />*代表卷积运算;步骤2-4、计算结构张量的小特征值所对应的特征向量,并通过下式计算其对应的指纹的脊线方向O(i,j):<maths num="0009"><![CDATA[<math><mrow><mi>O</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mi>arctan</mi><mfrac><mrow><mn>2</mn><mi>b</mi></mrow><mrow><mi>c</mi><mo>-</mo><mi>a</mi><mo>-</mo><msqrt><msup><mrow><mo>(</mo><mi>c</mi><mo>-</mo><mi>a</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mn>4</mn><mi>b</mi></mrow><mn>2</mn></msup></msqrt></mrow></mfrac></mrow></math>]]></maths>步骤3、对灰度拉伸的灰度图像gray2的每一像素点(i,j),在脊线方向上用一维高斯滤波器h(k),k∈[1,N]进行平滑,并得到平滑图像enhance_gray;<maths num="0010"><![CDATA[<math><mrow><mi>enhance</mi><mo>_</mo><mi>gray</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>h</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&times;</mo><mi>gray</mi><mn>2</mn><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>i</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>i</mi></mtd></mtr><mtr><mtd><mi>j</mi></mtd></mtr></mtable></mfenced><mo>+</mo><mi>k</mi><mfenced open='[' close=']'><mtable><mtr><mtd><mi>cos</mi><mi>O</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>sin</mi><mi>O</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>步骤4、对平滑图像enhance_gray的每一像素点(i,j),在梯度方向上,即垂直于脊线的方向上用一维Gabor滤波器g(k),k∈[1,N]进行增强,得到增强图像result_gray;<maths num="0012"><![CDATA[<math><mrow><mi>result</mi><mo>_</mo><mi>gray</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>g</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&times;</mo><mi>enhance</mi><mo>_</mo><mi>gray</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0013"><![CDATA[<math><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>i</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>i</mi></mtd></mtr><mtr><mtd><mi>j</mi></mtd></mtr></mtable></mfenced><mo>+</mo><mi>k</mi><mfenced open='[' close=']'><mtable><mtr><mtd><mi>cos</mi><mi>&theta;</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>sin</mi><mi>&theta;</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths><maths num="0014"><![CDATA[<math><mrow><mi>g</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>f</mi><mo>)</mo></mrow><mo>=</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><msup><mi>k</mi><mn>2</mn></msup><mrow><msup><mrow><mn>2</mn><mi>&sigma;</mi></mrow><mn>2</mn></msup></mrow></mfrac><mo>)</mo></mrow><mo>&times;</mo><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><mi>&pi;f</mi><mo>)</mo></mrow></mrow></math>]]></maths>其中,θ(i,j)为垂直于O(i,j)的梯度方向;f为采用投影法估计的指纹脊线的频率;步骤5、将增强图像result_gray代替灰度拉伸的指纹前景区域图像gray 2,重复执行步骤2-步骤4,重复执行3-4次后得到的增强图像result_gray即是最终的指纹增强图像。
地址 610054 四川省成都市建设北路二段4号