Beispiel #1
0
        void IDetectFaceSDK.DetectFace(byte[] texData, Action <IDFServerResult> getResult, bool isNeedFaceAttribute, bool isNeedQualityDetect)
        {
            if (texData == null)
            {
                return;
            }
            IDFRequestParam param = DFRequestParam.Default;

            param.Image = texData;
            param.NeedFaceAttributes   = isNeedFaceAttribute;
            param.NeedQualityDetection = isNeedQualityDetect;
            (this as IDetectFaceSDK).DetectFace(param, getResult);
        }
Beispiel #2
0
        void IDetectFaceSDK.DetectFace(IDFRequestParam parm, Action <IDFServerResult> getResult)
        {
            if (mIsWaiting)
            {
                return;
            }
#if SHIP_DOCK_SDK
            JSONObject json = JSONObject.Create();
            json.AddField("MaxFaceNum", parm.MaxFaceNumber);
            json.AddField("MinFaceSize", parm.MinFaceSize);
            if (parm.Image != null)
            {
                json.AddField("Image", Convert.ToBase64String(parm.Image));
            }
            if (!string.IsNullOrEmpty(parm.Url))
            {
                json.AddField("Url", parm.Url);
            }
            json.AddField("NeedFaceAttributes", parm.NeedFaceAttributes ? 1 : 0);
            json.AddField("NeedQualityDetection", parm.NeedQualityDetection ? 1 : 0);
            json.AddField("FaceModelVersion", parm.FaceModelVersion);
            onGetResult = getResult;
            mIsDone     = false;

            UpdaterNotice.SceneCallLater(WaitServerResult);

            if (!ThreadPool.QueueUserWorkItem(SendRequest, json))
            {
                mIsWaiting = false;
                throw new Exception("IDetectFaceSDK--> request server failed!");
            }
            else
            {
                mIsWaiting = true;
            }
#endif
        }