Пример #1
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            //base64
            string img = context.Request["img"];

            ////base64-byte[]数组
            byte[] bys    = Convert.FromBase64String(img.Substring(23));
            var    client = new Baidu.Aip.ImageClassify.ImageClassify("rkIOxVwUQ9HAtwvxC45fSbqB", "GghZpqOKI0CV6zpGBcrfRrQSGHl3Akv3");

            var result = client.AnimalDetect(bys);

            if (result.ToString().Contains("非动物"))
            {
            }
            string h = "<ul>";

            foreach (var item in result["result"])
            {
                h += "<li>" + item["name"].ToString() + "</li>";
                h += "<li>" + item["score"].ToString() + "</li>";
            }
            h += "</ul>";

            context.Response.Write(h);
        }
Пример #2
0
        public void AdvancedGeneralDemo(string filepath)
        {
            // 设置APPID/AK/SK
            //var APP_ID = "17767489";
            var API_KEY    = "uq1WqDv14GMpouhgDRKblm6L";
            var SECRET_KEY = "xhGGclgNBKWMKVU0Uf8KZLo7N7RTwRwQ";

            var client = new Baidu.Aip.ImageClassify.ImageClassify(API_KEY, SECRET_KEY);

            client.Timeout = 60000;  // 修改超时时间


            var image   = File.ReadAllBytes(filepath);
            var client2 = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY);

            client.Timeout = 60000;                   // 修改超时时间

            var result = client2.GeneralBasic(image); //本地图图片


            //var image = File.ReadAllBytes(filepath);
            //// 调用通用物体识别,可能会抛出网络等异常,请使用try/catch捕获
            //var result = client.AdvancedGeneral(image);
            //Console.WriteLine(result);
            //// 如果有可选参数
            //var options = new Dictionary<string, object>{
            //    {"baike_num", 5}
            //};
            //// 带参数调用通用物体识别
            //result = client.AdvancedGeneral(image, options);
            //Console.WriteLine(result);
            textBox2.Text = result.ToString();
            //result.ToString().ToShow();
        }
Пример #3
0
 public ImageClassify(IOptions <ApiConfig> apiConfig, ILogger <ImageClassify> logger)
 {
     _logger = logger;
     _client = new Baidu.Aip.ImageClassify.ImageClassify(apiConfig.Value.API_KEY, apiConfig.Value.SECRET_KEY)
     {
         Timeout = 60000
     };
 }
Пример #4
0
        //public float VideoTexUpdateTime = 0.5f;
        private void Start()
        {
            Client         = new Baidu.Aip.ImageClassify.ImageClassify(API_KEY, SECRET_KEY);
            Client.Timeout = 60000;  // 修改超时时间


            RT      = new RenderTexture(Screen.width / 2, Screen.height / 2, 24);
            ARVideo = Camera.main.GetComponent <UnityARVideo>();

            // InvokeRepeating("UpdateVideoTex",VideoTexUpdateTime,VideoTexUpdateTime);
        }
Пример #5
0
        void initClient()
        {
            mConfig = new IniFile("./cfg.ini");
            var APP_ID = mConfig.IniReadValue("Baidu", "APP_ID").ToString();

            var API_KEY = mConfig.IniReadValue("Baidu", "API_KEY").ToString();

            ;
            var SECRET_KEY = mConfig.IniReadValue("Baidu", "SECRET_KEY").ToString();

            Console.WriteLine(API_KEY);
            Console.WriteLine(SECRET_KEY);
            mClient         = new Baidu.Aip.ImageClassify.ImageClassify(API_KEY, SECRET_KEY);
            mClient.Timeout = 60000; // 修改超时时间
        }
Пример #6
0
        public static String GetPlantResult(string imgPath)
        {
            var client = new Baidu.Aip.ImageClassify.ImageClassify(API_KEY, SECRET_KEY);
            var image  = File.ReadAllBytes(imgPath);
            // 调用动物识别
            var result = client.PlantDetect(image);

            Console.WriteLine(result);
            // 如果有可选参数
            var options = new Dictionary <string, object> {
                { "top_num", 5 }
            };

            // 带参数调用动物识别
            result = client.AnimalDetect(image, options);
            Console.WriteLine(result);

            return(result.ToString());
        }
Пример #7
0
        public static String GetLogoResult(string imgPath)
        {
            var client = new Baidu.Aip.ImageClassify.ImageClassify(API_KEY, SECRET_KEY);
            var image  = File.ReadAllBytes(imgPath);
            // 调用菜品识别
            var result = client.DishDetect(image);

            Console.WriteLine(result);
            // 如果有可选参数
            //是否只使用自定义logo库的结果,默认false:返回自定义库+默认库的识别结果
            var options = new Dictionary <string, object> {
                { "custom_lib", "true" }
            };

            // 带参数调用菜品识别
            result = client.DishDetect(image, options);
            Console.WriteLine(result);
            return(result.ToString());
        }
Пример #8
0
        public static String GetCarResult(string imgPath)
        {
            var client = new Baidu.Aip.ImageClassify.ImageClassify(API_KEY, SECRET_KEY);
            var image  = File.ReadAllBytes(imgPath);
            // 调用菜品识别
            var result = client.DishDetect(image);

            Console.WriteLine(result);
            // 如果有可选参数
            var options = new Dictionary <string, object> {
                { "top_num", 5 }
            };

            // 带参数调用菜品识别
            //image:图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
            //top_num:返回预测得分top结果数,默认为5
            result = client.CarDetect(image, options);
            Console.WriteLine(result);
            return(result.ToString());
        }
Пример #9
0
        public static List <string> ImgSearchImg(string ImgPath)
        {
            var APP_ID     = "20408952";
            var API_KEY    = "oGP41zYCvdWBzFkyz1xBfUXT";
            var SECRET_KEY = "CwM4KCyzngkTCQAd2aIy08LYtPgPaDL8";

            var client = new Baidu.Aip.ImageClassify.ImageClassify(API_KEY, SECRET_KEY);

            client.Timeout = 6000;  // 修改超时时间

            var image = File.ReadAllBytes(ImgPath);
            // 调用通用物体识别,可能会抛出网络等异常,请使用try/catch捕获
            var           result         = client.AdvancedGeneral(image)["result"];
            List <string> ImgKeywordList = new List <string>();

            foreach (var i in result)
            {
                ImgKeywordList.Add(i["keyword"].ToString());
            }
            return(ImgKeywordList);
        }
Пример #10
0
        /// <summary>
        /// 通过打开一个文件来进行图像识别
        /// </summary>
        public void EasyPicRecognition()
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.ShowDialog();
            string _path     = ofd.FileName;
            var    picclient = new Baidu.Aip.ImageClassify.ImageClassify("NpBGfUR6qBGtFo5bIFbiPCO9", "S0L7LXAewfW7BBKmbXd0EQ8iRzEYRGqc")
            {
                Timeout = 60000 // 修改超时时间
            };
            var image      = File.ReadAllBytes(_path);
            var picoptions = new Dictionary <string, object> {
            };
            var results    = picclient.AdvancedGeneral(image, picoptions);

            if (results != null && results.ToString() != null && results.ToString().Length > 0)
            {
                var json = JsonConvert.SerializeObject(results);
                ImageRecognitionModel model = DeserializeJsonToObject <ImageRecognitionModel>(json) ?? new ImageRecognitionModel();
                ImageRecognitionBind(model);
            }
        }
Пример #11
0
        /// <summary>
        /// 图像识别
        /// </summary>
        /// <param name="Path">图像地址</param>
        /// <returns></returns>
        public static List <string> ImageRecognition(string Path)
        {
            List <string> types = null;
            // 设置APPID/AK/SK
            var API_KEY    = "bCKBIvGV7CGRCTEmRErE3h8l";
            var SECRET_KEY = "fsdd0brGLR04g47TykqIgZsRB4a7Kba1";
            var client     = new Baidu.Aip.ImageClassify.ImageClassify(API_KEY, SECRET_KEY);

            client.Timeout = 60000;  // 修改超时时间

            // 调用通用物体识别,可能会抛出网络等异常,请使用try/catch捕获
            try
            {
                var image  = File.ReadAllBytes(Path);
                var result = client.AdvancedGeneral(image);

                // 如果有可选参数
                var options = new Dictionary <string, object> {
                    { "baike_num", 5 }
                };
                result = client.AdvancedGeneral(image, options);
                //解析json数据
                RootObject    rb   = JsonConvert.DeserializeObject <RootObject>(((object)result).ToString());
                List <Result> list = rb.result;

                types = new List <string>();
                foreach (Result itme in list)
                {
                    types.Add(itme.keyword);
                }
                return(types);
            }
            catch (Exception ex)
            {
                return(types);
            }
        }
Пример #12
0
 public void init()
 {
     client = new ImageClassify.ImageClassify("你的Api Key", "你的Secret Key");
 }
Пример #13
0
        /// <summary>
        /// 人脸检测
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void skinButton1_Click(object sender, EventArgs e)
        {
            if (picbPreview.Image is null)
            {
                MessageBox.Show("请先拍照或者选取一张图片,再进行检测操作");
                return;
            }
            // var APP_ID = "17894506";
            Thread threadadd = new Thread(() =>
            {
                try
                {
                    var client = new Baidu.Aip.Face.Face(API_KEY, SECRET_KEY)
                    {
                        Timeout = 60000  // 修改超时时间
                    };
                    var image     = ImgToBase64String((Bitmap)this.picbPreview.Image);
                    var imageType = "BASE64";

                    // 调用人脸检测,可能会抛出网络等异常,请使用try/catch捕获
                    var result = client.Detect(image, imageType);
                    // 如果有可选参数
                    var options = new Dictionary <string, object>
                    {
                        { "face_field", "age,beauty,expression,face_shape,gender,glasses," +
                          ",race,quality,eye_status,emotion,face_type,eye_status" },
                        { "max_face_num", Max_face_num },
                        { "face_type", "LIVE" },
                        { "liveness_control", "LOW" }
                    };
                    // 带参数调用人脸检测
                    result = client.Detect(image, imageType, options);
                    if (result != null && result.ToString() != null && result.ToString().Length > 0)
                    {
                        var json             = JsonConvert.SerializeObject(result);
                        FaceCheckModel model = DeserializeJsonToObject <GetApiJson <FaceCheckModel> >(json)?.Result ?? new FaceCheckModel();
                        FaceTestBind(model);
                    }
                    ;


                    var picclient = new Baidu.Aip.ImageClassify.ImageClassify("NpBGfUR6qBGtFo5bIFbiPCO9", "S0L7LXAewfW7BBKmbXd0EQ8iRzEYRGqc")
                    {
                        Timeout = 60000  // 修改超时时间
                    };
                    Image img        = this.picbPreview.Image;
                    MemoryStream ms  = new MemoryStream();
                    byte[] imagedata = null;
                    img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                    imagedata = ms.GetBuffer();

                    var picoptions = new Dictionary <string, object> {
                        { "baike_num", Result_num }
                    };

                    var results = picclient.AdvancedGeneral(imagedata, picoptions);
                    if (results != null && results.ToString() != null && results.ToString().Length > 0)
                    {
                        var json = JsonConvert.SerializeObject(results);
                        ImageRecognitionModel model = DeserializeJsonToObject <ImageRecognitionModel>(json) ?? new ImageRecognitionModel();
                        ImageRecognitionBind(model);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("网络错误!错误信息:" + ex.Message);
                }
            });

            threadadd.Start();
        }