我无法通过C#应用程序注册face。我可以直接在设备中注册,并可以使用GetUserFaceStr函数访问注册的人脸。我可以从c#应用程序进行指纹注册。但是设备不响应face注册。我正在使用standalone+sdk-6.3.1.37-doc-2.1.0-demo-1.1.15.In演示应用程序中的动态链接库,我找不到任何注册face的代码。在SDK changelog.txt文件中,其提到的2017-07-13: 1.StartEnrollEx支持面向在线注册。
但是函数StartEnrollEx接受FingerID作为参数。任何帮助都将不胜感激。提前感谢
发布于 2020-12-25 15:12:48
public bool StartEnroll_face(string sIp = "192.168.1.201", int iPort = 4370, int iMachineNumber = 1, string userid = "", int fingureindex = 0)
{
//Create Standalone SDK class dynamicly.
zkemkeeper.CZKEM axCZKEM1 = new zkemkeeper.CZKEM();
axCZKEM1.Connect_Net(sIp, iPort);
int idwErrorCode = 0;
string sUserID = userid;
int iFingerIndex = fingureindex;
// if finger index is 111 then it will save image on device
int iFlag = 0;
axCZKEM1.CancelOperation();
axCZKEM1.DelUserFace(iMachineNumber, sUserID, iFingerIndex);
axCZKEM1.RefreshData(1);//the data in the device should be refreshed
if (axCZKEM1.StartEnrollEx(sUserID, iFingerIndex, iFlag))
{
MessageBox.Show("Start to Enroll a new User,UserID=" + sUserID + " Face ID=" + iFingerIndex.ToString() + " Flag=" + iFlag.ToString(), "Start");
iCanSaveTmp = 1;
axCZKEM1.StartIdentify();//After enrolling templates,you should let the device into the 1:N verification condition
axCZKEM1.RefreshData(1);//the data in the device should be refreshed
startenroll_retult = true;
}
else
{
axCZKEM1.GetLastError(ref idwErrorCode);
MessageBox.Show("Operation failed,ErrorCode=" + idwErrorCode.ToString(), "Error");
startenroll_retult = false;
}
axCZKEM1.Disconnect();
return startenroll_retult;
}现在调用该函数
if (StartEnroll_face("192.168.1.201", 4370, 1, txt_id_memb.Text,111))
{
// finger index 111 means register face of user
MessageBox.Show("Face Registered!");
}发布于 2020-10-02 04:23:13
它们只支持通过SDK的徽章/卡注册和指纹注册。对于Face注册,在尝试使用zkteco.com的支持时,他们建议使用菜单选项,如果face注册SDK不存在,则face/palm注册没有直接回答。因此,我们可以假设它要么不可用,要么存在一些问题。
https://stackoverflow.com/questions/61639205
复制相似问题