示例#1
0
        public List <User> FuzzyFindUserByName(String userName)
        {
            // Mysql
            MysqlUtils mysqlUtils = new MysqlUtils();

            return(mysqlUtils.FuzzyFindUserByName("张进"));
        }
示例#2
0
        /// <summary>
        /// 提取人脸特征
        /// </summary>
        /// <param name="pEngine">引擎Handle</param>
        /// <param name="imageInfo">图像数据</param>
        /// <param name="multiFaceInfo">人脸检测结果</param>
        /// <returns>保存人脸特征结构体指针</returns>
        public static IntPtr ExtractFeature(IntPtr pEngine, ImageInfo imageInfo, ASF_MultiFaceInfo multiFaceInfo, out ASF_SingleFaceInfo singleFaceInfo)
        {
            singleFaceInfo            = new ASF_SingleFaceInfo();
            singleFaceInfo.faceRect   = MemoryUtil.PtrToStructure <MRECT>(multiFaceInfo.faceRects);
            singleFaceInfo.faceOrient = MemoryUtil.PtrToStructure <int>(multiFaceInfo.faceOrients);
            IntPtr pSingleFaceInfo = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASF_SingleFaceInfo>());                                                                                     // 申请内存,单人脸检测结构体

            MemoryUtil.StructureToPtr(singleFaceInfo, pSingleFaceInfo);                                                                                                               // 结构体进入内存

            IntPtr pFaceFeature = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASF_FaceFeature>());                                                                                           // 申请内存,人脸特征结构体
            int    retCode      = ASFFunctions.ASFFaceFeatureExtract(pEngine, imageInfo.width, imageInfo.height, imageInfo.format, imageInfo.imgData, pSingleFaceInfo, pFaceFeature); // 单人脸特征提取

            Console.WriteLine("FR Extract Feature result:" + retCode);                                                                                                                // 直接打印结果

            if (retCode != 0)                                                                                                                                                         // 返回结果非0,即匹配到人脸,释放指针
            {
                // 释放指针
                MemoryUtil.Free(pSingleFaceInfo);                                                         // 释放单人脸检测结构体指针
                MemoryUtil.Free(pFaceFeature);                                                            // 释放人脸特征结构体指针
                ASF_FaceFeature emptyFeature  = new ASF_FaceFeature();                                    // 声明空人脸特征结构体
                IntPtr          pEmptyFeature = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASF_FaceFeature>()); // 声明空人脸特征结构体指针
                MemoryUtil.StructureToPtr(emptyFeature, pEmptyFeature);                                   // 将数据从托管对象封送到非托管内存块
                return(pEmptyFeature);                                                                    // 匹配成功,返回空的人脸特征结构体指针
            }

            // 人脸特征feature过滤
            ASF_FaceFeature faceFeature = MemoryUtil.PtrToStructure <ASF_FaceFeature>(pFaceFeature);// 将ptr托管的内存转化为结构体对象
            int             cc          = faceFeature.featureSize;
            var             ff          = faceFeature.feature;

            byte[] feature = new byte[faceFeature.featureSize];

            MemoryUtil.Copy(faceFeature.feature, feature, 0, faceFeature.featureSize);// source, destination, startIndex, length

            ASF_FaceFeature localFeature = new ASF_FaceFeature();

            localFeature.feature = MemoryUtil.Malloc(feature.Length);                        // 申请本地人脸特征指针
            MemoryUtil.Copy(feature, 0, localFeature.feature, feature.Length);               // source, startIndex, destination, length
            localFeature.featureSize = feature.Length;                                       // 设置本地特征值长度
            IntPtr pLocalFeature = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASF_FaceFeature>()); // 申请本地特征值指针空间

            MemoryUtil.StructureToPtr(localFeature, pLocalFeature);                          // T t,IntPtr ptr

            // 释放指针
            MemoryUtil.Free(pSingleFaceInfo);
            MemoryUtil.Free(pFaceFeature);


            /******** 特征值feature存入数据库 start **********/
            Users users = new Users();

            users.Id      = SidUtils.sid();
            users.Feature = feature;
            MysqlUtils mysqlUtils = new MysqlUtils();

            mysqlUtils.InsertUserFaceFeature(users);
            /******** 特征值feature存入数据库 end **********/
            return(pLocalFeature);// 返回人脸特征
        }
示例#3
0
        public static RegisterInfo init(String sWhichChannel)
        {
            RegisterInfo registerInfo = new RegisterInfo();

            if (MysqlUtils.OpenConnection() == true)
            {
            }
            switch (sWhichChannel)
            {
            case "城市高清网":
                registerInfo.serverName   = "192.168.138.45";
                registerInfo.databaseName = "";
                registerInfo.databaseType = 00000001;
                registerInfo.userName     = "******";
                registerInfo.password     = "******";
                break;

            case "生活高清网":
                registerInfo.serverName   = "192.168.138.140";
                registerInfo.databaseName = "";
                registerInfo.databaseType = 00000001;
                registerInfo.userName     = "******";
                registerInfo.password     = "******";
                break;

            case "测试数据库":
                registerInfo.serverName   = "178.20.10.85";
                registerInfo.databaseName = "Net2Dynetmanage2019";
                registerInfo.databaseType = 00000001;
                registerInfo.userName     = "******";
                registerInfo.password     = "******";
                break;

            default:
                break;
            }
            return(registerInfo);
        }
示例#4
0
        static void ConnecttimeWarning(object source, System.Timers.ElapsedEventArgs e)
        {
            System.Timers.Timer pp = (System.Timers.Timer)source;
            pp.Enabled = false;
            string[] _strgame = GetConnect().Split(",".ToCharArray());

            for (int m = 0; m < _strgame.Length; m++)
            {
                int game_id = int.Parse(_strgame[m]);

                #region 电话列表
                string       str_sendsql = "SELECT Mobile_Phone FROM SMS_Mobile WHERE Mobile_Game =" + game_id;
                MSSQLOperate pSms        = new MSSQLOperate(strAnalyse);
                pSms.Connect(false);
                pSms.ExecuteQuery(str_sendsql);
                pSms.GetResult(RecordStyle.DATASET);
                DataSet psDataSet = (DataSet)pSms.RecordData;
                #endregion

                string       str_sql  = "SELECT Server_Internet,Access_User,Access_Pwd,Server_DBtype,Game_Name,Server_Name FROM Game_Server,Server_Access,Info_Game WHERE Server_DBtype <> 127 AND Server_Game = " + game_id + " AND Access_Server = Server_ID AND Game_ID=Server_Game AND Access_Sort = 14";
                MSSQLOperate pConnect = new MSSQLOperate(strAnalyse);
                pConnect.Connect(false);
                pConnect.ExecuteQuery(str_sql);
                pConnect.GetResult(RecordStyle.DATASET);
                DataSet pDataSet = (DataSet)pConnect.RecordData;

                if (pConnect.AffectRow > 0)
                {
                    for (int i = 0; i < pDataSet.Tables[0].Rows.Count; i++)
                    {
                        bool   pResult  = true;
                        string str_user = System.Text.Encoding.UTF8.GetString(Declassified.Decrypt(System.Convert.FromBase64String(pDataSet.Tables[0].Rows[i][1].ToString()), System.Text.Encoding.UTF8.GetBytes("1234567890abcdef")));
                        string str_pwd  = System.Text.Encoding.UTF8.GetString(Declassified.Decrypt(System.Convert.FromBase64String(pDataSet.Tables[0].Rows[i][2].ToString()), System.Text.Encoding.UTF8.GetBytes("1234567890abcdef")));

                        if ("2" == pDataSet.Tables[0].Rows[i][3].ToString())//
                        {
                            #region SQL SERVER
                            string str_conncet = "Connect Timeout=300000;Server=" + pDataSet.Tables[0].Rows[i][0].ToString() + ";Database=master;uid=" + str_user + "; pwd=" + str_pwd;

                            MSSQLOperate pSqlConnect = new MSSQLOperate(str_conncet);
                            try
                            {
                                if (!pSqlConnect.Connect(false))
                                {
                                    //连接失败
                                    pResult = false;
                                }
                            }
                            catch (Exception ex)
                            {
                                //连接失败
                                pResult = false;
                            }
                            #endregion
                        }
                        else if ("3" == pDataSet.Tables[0].Rows[i][3].ToString())//
                        {
                            #region MYSQL
                            string str_conncet = "Connect Timeout=300000;Server=" + pDataSet.Tables[0].Rows[i][0].ToString() + ";uid=" + str_user + "; pwd=" + str_pwd;

                            MysqlUtils pMysqlConnect = new MysqlUtils(str_conncet);
                            try
                            {
                                if (!pMysqlConnect.Connected())
                                {
                                    //连接失败
                                    pResult = false;
                                }
                            }
                            catch (Exception ex)
                            {
                                //连接失败
                                pResult = false;
                            }
                            #endregion
                        }

                        #region 发送短信
                        if (!pResult)//连接失败,发送短信
                        {
                            if (pSms.AffectRow > 0)
                            {
                                for (int j = 0; j < pSms.AffectRow; j++)
                                {
                                    try
                                    {
                                        WebSMS pWebSMSSend   = new WebSMS();
                                        string str_send      = "游戏‘" + pDataSet.Tables[0].Rows[i][4].ToString() + "’,服务器‘" + pDataSet.Tables[0].Rows[i][5].ToString() + "’连接失败";
                                        byte[] pResultBuffer = pWebSMSSend.sendSMS(psDataSet.Tables[0].Rows[j][0].ToString(), str_send);
                                        int    iResult       = Encoding.Default.GetString(pResultBuffer) == "OK" ? 1 : 0;
                                    }
                                    catch
                                    { }
                                }
                            }
                        }
                        #endregion
                    }
                }
            }
            pp.Enabled = true;
        }
示例#5
0
        /// <summary>
        /// 精确获取多频道配置信息
        /// </summary>
        /// <param name="channelName">频道名称</param>
        /// <returns></returns>
        public static ChannelInfo QueryChannel(string channelName)
        {
            MysqlUtils mysqlUtils = new MysqlUtils();

            return(mysqlUtils.PreciseQueryChannel(channelName));
        }
示例#6
0
        /// <summary>
        /// 批量获取多频道配置信息
        /// </summary>
        /// <returns></returns>
        public static List <ChannelInfo> QueryChannels()
        {
            MysqlUtils mysqlUtils = new MysqlUtils();

            return(mysqlUtils.QueryChannels());
        }
示例#7
0
        /// <summary>
        /// 将新频道手动输入到人脸识别附属数据库
        /// </summary>
        /// <param name="channelInfo"></param>
        public void AddChannel(ChannelInfo channelInfo)
        {
            MysqlUtils mysqlUtils = new MysqlUtils();

            mysqlUtils.InsertTVCreateDBInfoToFaceRecoDB(channelInfo);
        }