1

我正在处理从 cmos 相机拍摄的指纹图像。图像帧的中心有一个灰色的不透明圆圈,边缘有深灰色的边界。一旦我扫描传感器上的指纹,脊的对比度几乎与背景图像相等(变化非常小)。我正在尝试获得山脊和山谷的清晰边界,以便我可以计算细节(我正在研究指纹识别的细节方法)。

最初,我希望检测手指的存在。我正在尝试为此使用方差方法。但是,由于前景和背景图像的对比度差异非常低,我在计算方差时的差异很小。计算方差的代码如下:

**

int get_variance(unsigned char *input, int size)
{
    int i,mean = get_mean(input,size);
    int temp = 0;
    for(i = 0; i < size; i++)
    {
        temp += (input[i]-mean) * (input[i]-mean);
    }
    return (temp/size);
}
int get_mean(unsigned char *input, int size)
{
    int i;
    int sum = 0;
    for( i = 0; i < size; i++)
    {
        sum += input[i];
    }
    return (sum/size);
}

** 图像分辨率为 320x240。

背景的方差在 1200 左右,指纹背景的方差在 950 左右。这是我在两张图像上得到的最大方差。甚至有时,仅在低光照条件下的背景就有 950。

我可以做些什么来改进手指检测过程?如果我将图像转换为频域会有帮助吗?或者我可以使用指纹分割来检测指纹的存在吗?

4

0 回答 0