コード例 #1
0
ファイル: MyFace.cs プロジェクト: ysjr-2002/ICE-Stduy
        private string verifySignatureCode(XmlDocument doc)
        {
            var signatureCode = doc.GetNodeText("signatureCode");
            var threshold     = doc.GetNodeText("threshold").ToFloat();
            var size          = doc.GetNodeText("size").ToInt32();
            var validtime     = doc.GetNodeText("validTime").ToInt32();

            print("signatureCode->" + signatureCode);
            print("threshold->" + threshold);
            print("size->" + size);
            print("validtime->" + validtime);
            print("match tag");
            var           tagNodes = doc.GetSelecteNodes("tags/tag");
            List <string> tags     = new List <string>();

            foreach (XmlNode tag in tagNodes)
            {
                print("tag->" + tag.InnerText);
                tags.Add(tag.InnerText);
            }

            var result       = fs.Search(group, signatureCode, size, "", false, null);
            var filterResult = GetfilterID(result, threshold);
            var filterfaceID = filterResult.Select(s => s.faceId).ToArray();

            Pagequery page = new Pagequery()
            {
                Offset   = 0,
                Pagesize = size,
            };
            //查询数据库
            var persons = db.Search1VN(page, filterfaceID, tags.ToArray(), validtime);

            var sb = new StringBuilder();

            sb.Append("xml".ElementBegin());
            sb.Append("code".ElementText("0"));
            sb.Append("totalCount".ElementText(persons.Count().ToString()));
            sb.Append("persons".ElementBegin());

            foreach (var p in persons)
            {
                sb.Append("person".ElementBegin());
                sb.Append("similarity".ElementText(Getsimilarity(p.FaceID, filterResult).ToString()));
                sb.Append("faceId".ElementText(p.FaceID));
                sb.Append("uuid".ElementText(p.UUID));
                sb.Append("code".ElementText(p.Code));
                sb.Append("name".ElementText(p.Name));
                sb.Append("description".ElementImage(p.Description));

                sb.Append("tags".ElementBegin());
                var personTags = db.GetPersonTags(p.FaceID);
                foreach (var tag in personTags)
                {
                    sb.Append("tag".ElementText(tag));
                }
                sb.Append("tags".ElementEnd());

                sb.Append("imgData1".ElementImage(FileManager.ReadFile(p.ImageData1)));
                sb.Append("imgData2".ElementImage(FileManager.ReadFile(p.ImageData2)));
                sb.Append("imgData3".ElementImage(FileManager.ReadFile(p.ImageData3)));

                sb.Append("person".ElementEnd());
            }

            sb.Append("persons".ElementEnd());
            sb.Append("xml".ElementEnd());

            var data = sb.ToString();

            ToKB(data);
            return(data);
        }
コード例 #2
0
ファイル: MyFace.cs プロジェクト: ysjr-2002/ICE-Stduy
        private string queryPersons(XmlDocument doc)
        {
            var id   = doc.GetNodeText("id");
            var uuid = doc.GetNodeText("uuid");
            var code = doc.GetNodeText("code");

            print("id->" + id);
            print("uuid->" + uuid);
            print("code->" + code);
            print("人物标签");
            List <string> tags     = new List <string>();
            var           tagNodes = doc.GetSelecteNodes("tags/tag");

            foreach (XmlNode tag in tagNodes)
            {
                print("tag->" + tag.InnerText);
                tags.Add(tag.InnerText);
            }

            var offset = doc.GetNodeText("offset");
            var size   = doc.GetNodeText("size");

            print("offset->" + offset);
            print("size->" + size);

            Pagequery page = new Pagequery
            {
                Offset   = offset.ToInt32(),
                Pagesize = size.ToInt32(),
            };

            var persons = db.Search(page, id, uuid, code, tags.ToArray());
            var count   = page.TotalCount.ToString();

            print("match record:" + count);
            var sb = new StringBuilder();

            sb.Append("xml".ElementBegin());
            sb.Append("code".ElementText("0"));
            sb.Append("totalCount".ElementText(count));
            sb.Append("persons".ElementBegin());

            foreach (var p in persons)
            {
                sb.Append("person".ElementBegin());
                sb.Append("faceId".ElementText(p.FaceID));
                sb.Append("uuid".ElementText(p.UUID));
                sb.Append("code".ElementText(p.Code));
                sb.Append("name".ElementText(p.Name));
                sb.Append("description".ElementImage(p.Description));
                sb.Append("imgData1".ElementImage(FileManager.ReadFile(p.ImageData1)));
                sb.Append("hasSignatureCode1".ElementText(hasSignaturecode(p.ImageData1)));
                sb.Append("imgData2".ElementImage(FileManager.ReadFile(p.ImageData2)));
                sb.Append("hasSignatureCode2".ElementText(hasSignaturecode(p.ImageData2)));
                sb.Append("imgData3".ElementImage(FileManager.ReadFile(p.ImageData3)));
                sb.Append("hasSignatureCode3".ElementText(hasSignaturecode(p.ImageData3)));
                sb.Append("person".ElementEnd());
            }

            sb.Append("persons".ElementEnd());
            sb.Append("xml".ElementEnd());
            var data = sb.ToString();

            ToKB(data);
            return(data);
        }