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 になることもあります。
指検出プロセスを改善するにはどうすればよいですか? 画像を周波数領域に変換すると役に立ちますか? または、指紋のセグメンテーションを使用して指紋の存在を検出できますか?