private void ImgCompare(string sfzImg, string paiZhaoImg) { if (Read_IdCardInfo.isFaceLode && Read_IdCardInfo._faceThread != null) { try { QSNetFaceEngine.FaceModel[] faces2 = new QSNetFaceEngine.FaceModel[1]; int num2 = Read_IdCardInfo._faceThread.qsFaceEngine.detectFaces(paiZhaoImg, faces2, 1); if (num2 < 1) { Console.WriteLine("没有检测到人脸"); timer.Start(); } QSNetFaceEngine.FaceModel[] faces1 = new QSNetFaceEngine.FaceModel[1]; int num1 = Read_IdCardInfo._faceThread.qsFaceEngine.detectFaces(sfzImg, faces1, 1); if (num1 < 1) { Console.WriteLine("没有检测到人脸"); timer.Start(); } float score = Read_IdCardInfo._faceThread.qsFaceEngine.compare2Feature(faces1[0].feature, faces2[0].feature); Console.WriteLine("相似度:" + score); if (score >= GetFaceThreshold()) { timer.Close(); MessageBox.Show("相似度" + score + ",人脸验证通过!"); App.Current.Dispatcher.Invoke((Action)(() => { this.Close(); CameraHelper.CloseDevice(); Console.WriteLine("关闭摄像头"); })); } else { MessageBox.Show("相似度" + score + ",人脸验证未通过!"); timer.Start(); } } catch (Exception ex) { MessageBox.Show("人脸识别出错" + ex.Message); timer.Start(); } } }
/// <summary> /// 图片比对 /// </summary> /// <param name="sfzImg">身份证图片</param> /// <param name="paiZhaoImg">抓拍照片</param> public void TuPianBiDui(string sfzImg, string paiZhaoImg) { if (isFaceLode && _faceThread != null) { try { QSNetFaceEngine.FaceModel[] faces2 = new QSNetFaceEngine.FaceModel[1]; int num2 = _faceThread.qsFaceEngine.detectFaces(paiZhaoImg, faces2, 1); if (num2 < 1) { Console.WriteLine("没有检测到人脸"); } QSNetFaceEngine.FaceModel[] faces1 = new QSNetFaceEngine.FaceModel[1]; int num1 = _faceThread.qsFaceEngine.detectFaces(sfzImg, faces1, 1); if (num1 < 1) { Console.WriteLine("没有检测到人脸"); } float score = _faceThread.qsFaceEngine.compare2Feature(faces1[0].feature, faces2[0].feature); Console.WriteLine("相似度:" + score); if (score >= GetFaceThreshold()) { SetSimilarity(score); } else { SetSimilarity(score); } } catch (Exception ex) { MessageBox.Show("人脸识别出错" + ex.Message); //Trace.Write(ex.Message, "人脸识别出错"); } } else { MessageBox.Show("加载人脸识别"); } }
public FaceThread(MainWindow mainFrom) { try { _mainForm = mainFrom; _stop = false; faces = new QSNetFaceEngine.FaceModel[1]; faces2 = new QSNetFaceEngine.FaceModel[2]; _haveImage = new AutoResetEvent(false); //初始化人脸引擎 qsFaceEngine = new QSNetFaceEngine(); bool tag = qsFaceEngine.initial(); if (!tag) { return; } } catch (Exception ex) { } }
public FaceThread() { try { _stop = false; faces = new QSNetFaceEngine.FaceModel[1]; faces2 = new QSNetFaceEngine.FaceModel[2]; _haveImage = new AutoResetEvent(false); //初始化人脸引擎 qsFaceEngine = new QSNetFaceEngine(); bool tag = qsFaceEngine.initial(); if (!tag) { return; } Console.WriteLine("人脸加载成功"); } catch (Exception ex) { } }