コード例 #1
0
        public static void baiduAiInit()
        {
            object appid     = Conf.getConfig("global.config", "baiduappid");
            object apikey    = Conf.getConfig("global.config", "baiduapikey");
            object secretkey = Conf.getConfig("global.config", "baidusecretkey");

            if (appid == null)
            {
                appid = "";
            }
            if (apikey == null)
            {
                apikey = "";
            }
            if (secretkey == null)
            {
                secretkey = "";
            }
            Log.addLog("appid=" + appid);
            Log.addLog("apikey=" + apikey);
            Log.addLog("secretkey=" + secretkey);



            var APP_ID     = appid.ToString();
            var API_KEY    = apikey.ToString();
            var SECRET_KEY = secretkey.ToString();

            Conf.ap = ap = new AntiPorn(API_KEY, SECRET_KEY);
            Conf.ic = new ImageCensor(API_KEY, SECRET_KEY);
            Log.addLog("初始化百度AI完成");
        }
コード例 #2
0
        /// <summary>
        /// 图片检测
        /// </summary>
        /// <param name=""></param>
        /// <param name="bytes"></param>
        /// <returns></returns>
        public DetectionResult Detection(byte[] bytes)
        {
            try
            {
                var client = new AntiPorn(API_KEY, SECRET_KEY);
                client.Timeout = 50000; // 修改超时时间

                var jsonObj = client.Detect(bytes);

                var ret2 = jsonObj.ToObject <BaiduImageDetectionResult>();
                var ret  = new DetectionResult()
                {
                    Platform = "百度"
                };

                foreach (var item in ret2.result)
                {
                    // 只考虑返回概率大于50%的情况,这个后面顶一个参数吧
                    if (item.probability > 0.5)
                    {
                        ret.Items.Add(new DetectionResultItem
                        {
                            TypeName   = item.class_name,
                            Suggestion = item.probability * 100
                        });
                    }
                }

                var max = ret.Items.OrderByDescending(o => o.Suggestion).First();
                switch (max.TypeName)
                {
                case "正常":
                    ret.Result = DetectionResultType.Normal;
                    break;

                case "色情":
                    ret.Result = DetectionResultType.P**n;
                    break;

                case "性感":
                    ret.Result = DetectionResultType.Sexy;
                    break;

                default:
                    ret.Result = DetectionResultType.Unknow;
                    break;
                }

                ret.SourceResult = jsonObj.ToString();
                return(ret);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                return(new DetectionResult {
                    Error = ex.Message, Platform = "百度"
                });
            }
        }
コード例 #3
0
        public JObject AntiPorn(byte[] bytes)
        {
            var client = new AntiPorn(API_KEY, SECRET_KEY);

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

            var ret = client.Detect(bytes);

            return(ret);
        }
コード例 #4
0
        public void InitiateScanner()
        {
            var xmlDoc  = new XmlDocument();
            var xmlPath = Environment.CurrentDirectory + @"\Token.config";

            if (!File.Exists(xmlPath))
            {
                return;
            }
            xmlDoc.Load(xmlPath);
            if (xmlDoc.DocumentElement == null)
            {
                return;
            }
            var API_KEY    = xmlDoc.DocumentElement["APIKey"]?.InnerText.Trim();
            var SECRET_KEY = xmlDoc.DocumentElement["SecretKey"]?.InnerText.Trim();

            _maxFileSize    = Convert.ToInt32(xmlDoc.DocumentElement["MaxSize"]?.InnerText.Trim());
            _clientAntiPorn = new AntiPorn(API_KEY, SECRET_KEY)
            {
                Timeout = 60000 // 超时,毫秒
            };
        }
コード例 #5
0
 public static void AntipornGif()
 {
     var client = new AntiPorn("Api Key", "Secret Key");
     var image  = File.ReadAllBytes("Gif图片文件路径");
     var result = client.DetectGif(image);
 }
コード例 #6
0
 public static void AntipornGif()
 {
     var client = new AntiPorn(Config.clientId, Config.clientSecret);
     var image  = File.ReadAllBytes("Gif图片文件路径");
     var result = client.DetectGif(image);
 }