Как сравнить два отпечатка пальца?

Abdul Basit спросил: 28 марта 2018 в 02:55 в: c#

Я разрабатываю систему биометрической посещаемости. У меня проблема с сравнением пикселей двух отпечатков пальцев.

bmp1 = new Bitmap(pictureBox1.Image);
bmp2 = new Bitmap(pictureBox2.Image);int wid = Math.Min(bmp1.Width, bmp2.Width);
int hgt = Math.Min(bmp1.Height, bmp2.Height);
Bitmap bmp3 = new Bitmap(wid, hgt);
//create the differences images
bool are_identical = true;
Color eq_color = Color.White;
Color ne_color = Color.Red;for (int x = 0; x < wid; x++)
{
    for (int y = 0; y < hgt; y++)
    {
        if (bmp1.GetPixel(x, y).Equals(bmp2.GetPixel(x, y)))
        bmp3.SetPixel(x, y, eq_color);
        else
        {
            bmp3.SetPixel(x, y, ne_color);
            are_identical = false;
        }
    }
}// Display the result.
pictureBox3.Image = bmp3;this.Cursor = Cursors.Default;
if ((bmp1.Width != bmp2.Width) || (bmp1.Height != bmp2.Height)) are_identical = false;
if (are_identical)
    MessageBox.Show("The images are identical");
else
    MessageBox.Show("The images are different");

1 ответ

Dineth Cooray ответил: 28 марта 2018 в 03:31

Распознавание отпечатков пальцев не работает таким образом. Обычно эти системы оценивают уникальные особенности отпечатков пальцев, а не просто сравнивают пиксели изображения. Если вы делаете это правильно, вам придется использовать SDK для распознавания отпечатков пальцев.

Однако, если вам нужно сравнить два изображения, вы можете сделать это с помощью библиотеки обработки изображений, такой как emgucv.

Опять же, существуют бесконечные способы сравнения изображений. Один простой способ сделать это - использовать сравнение гистограмм. emgucv предлагает метод cvCompareHist, который можно использовать для сравнения гистограмм.

Dineth Cooray ответил: 28 марта 2018 в 03:36
Проверьте эти ссылки, здесь и здесь