我已经用C#创建了一个非常简单的程序,它将指纹与包含多个指纹的数据库进行匹配。我正在使用SourceAFIS来做到这一点。这是该代码的源代码:
using System;
using System.Drawing;
using System.IO;
using SourceAFIS.Simple;
namespace FingerprintRecognizer
{
class Class1
{
static AfisEngine AFIS = new AfisEngine();
static Person DatabasePersons = new Person();
static Person CandidatePerson = new Person();
static Fingerprint DatabaseFingerprints = new Fingerprint();
static Fingerprint CanditateFingerprint = new Fingerprint();
static void Main(string[] args)
{
// Populating database with previously saved fingerprints of many people.
foreach (string DatabaseTIFfiles in Directory.EnumerateFiles(Directory.GetCurrentDirectory() + @"\database\", "*.tif"))
{
DatabaseFingerprints.AsBitmap = new Bitmap(Image.FromFile(DatabaseTIFfiles));
DatabasePersons.Fingerprints.Add(DatabaseFingerprints);
}
// Inserting candidate fingerprint in another database.
CanditateFingerprint.AsBitmap = new Bitmap(Image.FromFile(Directory.GetCurrentDirectory() + @"\testfingerprint.tif"));
CandidatePerson.Fingerprints.Add(CanditateFingerprint);
// Extracting skeletons of database fingerprints and candidate fingerprint.
AFIS.Extract(DatabasePersons);
AFIS.Extract(CandidatePerson);
// Matching
float score = AFIS.Verify(DatabasePersons, CandidatePerson);
bool match = (score > 80);
int points = Convert.ToInt32(score);
if (match)
Console.WriteLine(string.Format("Fingerprint match with {0} points", points.ToString()));
else
Console.WriteLine(string.Format("Fingerprint does not match with {0} points", points.ToString()));
Console.ReadKey();
}
}
}
我将获得两个可能的结果:“指纹与{0}点匹配”或“指纹与{0}点不匹配”
如果可能,我希望得到这样的结果:“指纹与“姓氏”匹配。
我尝试遵循此步骤,但是我不知道该怎么做。 https://en.wikibooks.org/wiki/SourceAFIS/Tutorial
兄弟,在我的项目中实施Sourceafi时,我需要您的帮助。...请回复我...我不知道如何从保存为数据库中数据类型varbinary(max)的指纹中验证捕获的指纹。