コード例 #1
0
ファイル: UcCompar.cs プロジェクト: GuogGuo/csharpfacecore
 private void btn1Select_Click(object sender, EventArgs e)
 {
     string filename = SelectPicture();
     if (!string.IsNullOrEmpty(filename))
     {
         FaceClient client = new FaceClient("8c1be718fa976083a6940009f36c056e");
         byte[] bt = GetFilebyte(filename);
         var face = client.FaceDetect(filename);//获取特征值
         pic1.Image = Image.FromStream(new MemoryStream(bt));
         if (face != null && face.facemodels.Count > 0)
         {
             face1true = face.facemodels[0].base64feature;
         }
         else
         {
             MessageBox.Show("未读取到人脸信息");
             pic1.Image = null;
             face1true = string.Empty;
         }
     }
     else
     {
         pic1.Image = null;
         face1true = string.Empty;
     }
 }
コード例 #2
0
ファイル: UcFaceCheck.cs プロジェクト: GuogGuo/csharpfacecore
        private void pnlbg_Click(object sender, EventArgs e)
        {
            Panel pnl = sender as Panel;
            if (pnl != null)
            {
                //byte[] bts = Common.GetFilebyte(pnl.BackgroundImage);
                picSource.Image = pnl.BackgroundImage;
                FaceClient client = new FaceClient("8c1be718fa976083a6940009f36c056e");
                var face = client.FaceDetect(picSource.Image);//获取特征值
                //var face = client.FaceDetectAgeAndSex(picSource.Image);//获取特征值
                if (face != null && face.facemodels.Count > 0)
                {
                    byte[] bts = Common.GetFilebyte(pnl.BackgroundImage);
                    Image img = Image.FromStream(new MemoryStream(bts));

                    foreach (var model in face.facemodels)
                    {
                        string strInfo = string.Format("左眼坐标(X:{0},Y{1}) 右眼坐标(X:{2},Y{3})", model.lefteye.x, model.lefteye.y
                                                                    , model.righteye.x, model.righteye.y);
                        //string strInfo = string.Format("性别:{0},年龄{1}", model.ageandsex.sex == "Female" ? "女" : "男", model.ageandsex.age.ToString("0.00"));
                        img = Common.DrawImage(img, model.facerectanglex, model.facerectangley, model.facerectanglewidth, model.facerectangleheight);

                    }
                    picCheck.Image = img;
                }
            }
        }
コード例 #3
0
ファイル: UcCompar.cs プロジェクト: GuogGuo/csharpfacecore
 private void btnCompar_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(face1true) || string.IsNullOrEmpty(face2true))
     {
         MessageBox.Show("缺少人脸信息");
         return;
     }
     FaceClient client = new FaceClient("8c1be718fa976083a6940009f36c056e");
     var contrast = client.FaceContrast(face1true, face2true);
     if (contrast != null)
     {
         lblCompar.Text = "相似度" + (contrast.similar * 100).ToString("0.00") + "%";
     }
 }
コード例 #4
0
ファイル: UcFaceCheck.cs プロジェクト: GuogGuo/csharpfacecore
        private void loadImage(string filename)
        {
            if (!string.IsNullOrEmpty(filename))
            {
                FaceClient client = new FaceClient("8c1be718fa976083a6940009f36c056e");
                byte[] bt = Common.GetFilebyte(filename);
                var face = client.FaceDetect(bt);//获取特征值
                //var face = client.FaceDetectAgeAndSex(bt);
                picSource.Image = Image.FromStream(new MemoryStream(bt));
                if (face != null && face.facemodels.Count > 0)
                {
                    Image img = Image.FromStream(new MemoryStream(bt));
                    foreach (var model in face.facemodels)
                    {
                        img = Common.DrawImage(img, model.facerectanglex, model.facerectangley, model.facerectanglewidth, model.facerectangleheight);
                    }
                    picCheck.Image = img;
                }
                else
                {
                    MessageBox.Show("未读取到人脸信息");
                }

            }
        }