我目前正在开发一个库来使用 SFinGe 方法(由 Maltoni、Maio 和 Cappelli 编写)链接生成合成指纹:http ://biolab.csr.unibo.it/research.asp?organize=Activities&select=&selObj=12&pathSubj= 111%7C%7C12&
其中一个步骤要求我对图像应用不同的 gabor 滤波器,图像中的每个像素都有一个相关的方向和频率,因此卷积不是在整个图像上使用一个内核完成的,但滤波器必须在此过程中根据情况进行更改在像素的这些属性上,图像上的每个像素都以不同的方式改变。
如果您以这种方式应用过滤器,并对图像进行多次卷积(您还必须在每次卷积后对图像进行二值化),您将获得:
一个主指纹,我目前已经使用 2d 卷积实现了标准的 gabor 滤波器。我希望它更快,我试图分离过滤器,但可分离过滤的问题是复杂域中的卷积。我正在使用 openCV 研究 C++,但我不确定如何执行这种卷积。
现在从不同的答案阅读这篇论文,我看到了另一种方法,盒滤波器近似:
现在从阅读论文中我不清楚如何使用这种方法来近似 gabor 滤波器,什么是 B(x, y)?
我对图像处理(或数学)不是很了解。如果有人能向我解释这个近似值是如何工作的,我将不胜感激:)。
还有一个重要的注意事项,这可以在上下文问题中完成吗?为了生成主指纹,我必须应用过滤器的方式是,我必须根据正在卷积的当前像素的一些局部属性在卷积的每个步骤中使用内核。
谢谢阅读!