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完成"); }
/// <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 = "百度" }); } }
public JObject AntiPorn(byte[] bytes) { var client = new AntiPorn(API_KEY, SECRET_KEY); client.Timeout = 60000; // 修改超时时间 var ret = client.Detect(bytes); return(ret); }
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 // 超时,毫秒 }; }
public static void AntipornGif() { var client = new AntiPorn("Api Key", "Secret Key"); var image = File.ReadAllBytes("Gif图片文件路径"); var result = client.DetectGif(image); }
public static void AntipornGif() { var client = new AntiPorn(Config.clientId, Config.clientSecret); var image = File.ReadAllBytes("Gif图片文件路径"); var result = client.DetectGif(image); }