Проблема в том, что это приложение возвращает только массив byte[] отпечатка пальца, поэтому я использую веб-сервис, который принимает байт массив, но я не могу успешно преобразовать byte[] в fmd или fid для сравнения отпечатков пальцев.
Я пытаюсь использовать метод FeatureExtraction.CreateFmdFromRaw, но безуспешно
Код: Выделить всё
public ActionResult validateLogin(ImageSend fimage,DataTable figerUsers) {
ActionResult r = new ActionResult() {
Success = false, ResultCode = ResultCode.GeneralError
};
try
{
// RawImage x = new RawImage(fimage.IMAGE_WIDTH, fimage.IMAGE_HEIGHT,75,10,fimage.data);
byte[] x = Convert.FromBase64String(fimage.data);
// Fmd fmd = new Fmd(x, 1, "1.0");
// byte[] x = fimage.data;
//duda cantidad de dpi
//Fid.Fiv fiv = new Fid.Fiv(x);
// DPCtlUruNet.IdentificationControl.FinishIdentification
DataResult resultConversion = FeatureExtraction.CreateFmdFromRaw(x, 1,0,fimage.IMAGE_WIDTH,fimage.IMAGE_HEIGHT, 75, Constants.Formats.Fmd.ANSI); ;
if (resultConversion.ResultCode == Constants.ResultCode.DP_SUCCESS)
{
Fmd fmd1 = resultConversion.Data;
//Fmd fmd1 = fmd;
Fmd fmd2 = null;
CompareResult compareResult;
foreach (DataRow row in figerUsers.Rows)
{
fmd2 = Fmd.DeserializeXml(row["FINGER"].ToString());
compareResult = Comparison.Compare(fmd1, 0, fmd2, 0);
if (compareResult.Score < (PROBABILITY_ONE / (double)100000))
{
r.Success = true;
r.Message = "Login Correcto";
r.ResultCode = ResultCode.Success;
return r;
}
}
}
else {
r.Success = false;
r.ResultCode = ResultCode.GeneralError;
r.Message = $"Error generando objeto de comparacion de huellas\n{x.Length} result: {resultConversion.ResultCode.ToString()}";
//r.Message = $"Error generando objeto de comparacion de huellas\n{x.Length} result: {fmd.ToString()}";
}
}
catch (Exception ex) {
r.Success = false;
r.ResultCode = ResultCode.GeneralError;
r.Message = ex.Message+ex.StackTrace;
}
return r;
}
public class ImageSend
{
public string name;
public string data;
public int IMAGE_HEIGHT = 290;
public int IMAGE_WIDTH;
}
Подробнее здесь: https://stackoverflow.com/questions/569 ... array-in-c