/// <summary> /// 图片内容检测服务(Image Moderation, IM)能自动扫描图片,识别涉黄、涉恐、涉政、涉毒等有害内容,同时支持用户配置图片黑名单,打击自定义的违规图片。 /// /// <div class="rno-api-explorer" style="margin-bottom:20px"> /// <div class="rno-api-explorer-inner"> /// <div class="rno-api-explorer-hd"> /// <div class="rno-api-explorer-title"> /// 关于版本迭代的描述 /// </div> /// </div> /// <div class="rno-api-explorer-body"> /// <div class="rno-api-explorer-cont"> /// <p>当前页面版本为图片内容安全2020版本,2020.11.3日前接入的图片内容安全接口为2019版本,在此时间前接入的用户可直接访问以下链接进行维护操作:<a href="https://cloud.tencent.com/document/product/1125/38206" target="_blank">图片内容安全-2019版本</a></p> /// <p>2020版本相对2019版本进行了升级,支持更灵活的多场景业务策略配置以及更丰富的识别回调信息,满足不同业务的审核需求,建议按照2020版本接入指引进行接口升级;同时,2019版本也会持续维护直至用户不再使用为止。</p> /// </div> /// </div> /// </div> /// </div> /// </summary> /// <param name="req"><see cref="ImageModerationRequest"/></param> /// <returns><see cref="ImageModerationResponse"/></returns> public ImageModerationResponse ImageModerationSync(ImageModerationRequest req) { JsonResponseModel <ImageModerationResponse> rsp = null; try { var strResp = this.InternalRequestSync(req, "ImageModeration"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <ImageModerationResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }
public static ImageModerationResponse ImageModeration(byte[] bytes) { var cred = new Credential { SecretId = API_KEY, SecretKey = SECRET_KEY }; var clientProfile = new ClientProfile(); var httpProfile = new HttpProfile(); httpProfile.Endpoint = "tiia.tencentcloudapi.com"; clientProfile.HttpProfile = httpProfile; var client = new TiiaClient(cred, Region_Id, clientProfile); var req = new ImageModerationRequest(); req.Scenes = new[] { "P**N", "TERRORISM", "POLITICS", "TEXT" }; req.ImageBase64 = Convert.ToBase64String(bytes); var resp = client.ImageModeration(req).ConfigureAwait(false).GetAwaiter().GetResult(); return(resp); }
/// <summary> /// 注意使用时,要缩小图片的尺寸 /// </summary> /// <param name="bytes"></param> /// <returns></returns> public static DetectionResult Detection(byte[] bytes) { try { var cred = new Credential { SecretId = API_KEY, SecretKey = SECRET_KEY }; var clientProfile = new ClientProfile(); var httpProfile = new HttpProfile(); httpProfile.Endpoint = "tiia.tencentcloudapi.com"; clientProfile.HttpProfile = httpProfile; var client = new TiiaClient(cred, Region_Id, clientProfile); var req = new ImageModerationRequest(); req.Scenes = new[] { "P**N" }; req.ImageBase64 = Convert.ToBase64String(bytes); var resp = client.ImageModeration(req).ConfigureAwait(false).GetAwaiter().GetResult(); var ret = new DetectionResult { Platform = "腾讯" }; switch (resp.PornResult.Type.ToLower()) { case "normal": ret.Result = DetectionResultType.Normal; break; case "p**n": ret.Result = DetectionResultType.P**n; break; case "hot": ret.Result = DetectionResultType.Sexy; break; case "breast": case "ass": case "bareBody": case "unrealHotPeople": ret.Result = resp.PornResult.Suggestion == "PASS" ? DetectionResultType.Sexy : DetectionResultType.P**n; break; default: ret.Result = DetectionResultType.Unknow; break; } ret.Items.Add(new DetectionResultItem { Suggestion = resp.PornResult.Confidence ?? 0, TypeName = resp.PornResult.Type }); ret.SourceResult = JsonConvert.SerializeObject(resp, Formatting.Indented); return(ret); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(new DetectionResult { Error = ex.Message, Platform = "腾讯" }); } }