前言

百度AI是指百度公司的人工智能技术全称。它采用深度学习技术,包括自然语言处理、语音识别、计算机视觉、知识图谱等,可应用于各个领域如互联网、医疗、金融、教育、汽车、物流等。百度AI的发展将帮助人类更好地理解世界和提高生活品质,接下来就通过一个小案例演示实现百度AI在文字和图像敏感审核运用。

项目准备

1.注册并登录百度智能云账号

官方地址:https://cloud.baidu.com/

2.完成个人或企业认证

3.进入控制台总览

4创建应用,申请BaiduAI官方的授权KEY

5.应用列表

项目搭建与配置

1.创建Winform客户端

  • 项目结构

  • 文本审核窗体设计

  • 图像审核窗体设计

2.Nuget安装BaiduAI包

NuGet\Install-Package Baidu.AI -Version 4.15.13

3.添加应用Key配置

文件:BaseConfig.json配置申请的应用信息

{
"BaiduAI": {
"AppId": "xxxx",//配置自己申请的
"ApiKey": "xxxx",//配置自己申请的
"SecretKey": "xxxx"//配置自己申请的
}
}

项目代码实现

贴出实现功能的核心代码,整个项目的源码文末尾提供获取方式。

  • BaiduAI帮助类

    namespace BaiduAIAuditClient.Helper
    {
    /// <summary>
    /// 百度AI识别帮助类
    /// </summary>
    public class BaiduAI
    {
    public static string APP_ID = RamData.Instance.BaseConfig.BaiduAI.AppId;
    public static string API_KEY = RamData.Instance.BaseConfig.BaiduAI.ApiKey;
    public static string SECRET_KEY = RamData.Instance.BaseConfig.BaiduAI.SecretKey ; /// <summary>
    /// 检测文本
    /// </summary>
    /// <param name="text"></param>
    /// <returns></returns>
    public static BaiDuResult CheckedText(string text)
    {
    //判断是否审核为空文本
    if (string.IsNullOrEmpty(text)) { return new BaiDuResult(); }
    //初始化
    var client = new Baidu.Aip.ContentCensor.TextCensor(API_KEY, SECRET_KEY);
    client.Timeout = 60000; // 超时,毫秒
    var result = client.TextCensorUserDefined(text);
    var baiduResult = new BaiDuResult();
    if (result != null)
    {
    if (result["conclusionType"] == null || result["conclusionType"].ToString() == "1")
    {
    baiduResult.IsSuccess = true;
    }
    else
    {
    baiduResult.IsSuccess = false;
    if (result["data"][0]["msg"] != null)
    {
    baiduResult.Messge = result["data"][0]["msg"].ToString() + ";";
    }
    if (result["data"][0]["hits"][0]["words"] != null)
    {
    baiduResult.Messge += "\r\n敏感词:\r\n" + result["data"][0]["hits"][0]["words"].ToString() + "。";
    }
    }
    } return baiduResult;
    } /// <summary>
    /// 检测图片
    /// </summary>
    /// <param name="text"></param>
    /// <returns></returns>
    public static BaiDuResult CheckedImage(byte[] image)
    {
    //判断是够为空
    if (image == null || image.Length == 0) { return new BaiDuResult(); }
    //初始化
    var client = new Baidu.Aip.ContentCensor.ImageCensor(API_KEY, SECRET_KEY);
    client.Timeout = 60000; // 超时,毫秒
    var result = client.UserDefined(image); var baiduResult = new BaiDuResult();
    if (result["conclusionType"].ToString() == "1")
    {
    baiduResult.IsSuccess = true;
    }
    else
    {
    baiduResult.IsSuccess = false;
    if (result["data"][0]["msg"] != null)
    {
    baiduResult.Messge = result["data"][0]["msg"].ToString() + ";";
    }
    }
    return baiduResult;
    }
    }
    /// <summary>
    /// 自定义返回实体
    /// </summary>
    public class BaiDuResult
    {
    /// <summary>
    /// 是否通过
    /// </summary>
    public bool IsSuccess { get; set; } = true; /// <summary>
    /// 消息
    /// </summary>
    public string Messge { get; set; }
    } }
  • 文本审核调用

       #region 文本审核
    /// <summary>
    /// 审核文本
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void btAuditTxt_Click(object sender, EventArgs e)
    {
    try
    {
    if (string.IsNullOrEmpty(rtbAuditContent.Text))
    {
    MessageBox.Show("审核文本不能为空!","提示",MessageBoxButtons.OK);
    return;
    } BaiDuResult baiDuResult = BaiduAI.CheckedText(rtbAuditContent.Text);
    if (baiDuResult.IsSuccess)
    {
    lbTxtAuditResult.ForeColor = Color.Green;
    lbTxtAuditResult.Text = "文字审核通过!";
    }
    else
    {
    lbTxtAuditResult.ForeColor = Color.Red;
    lbTxtAuditResult.Text = baiDuResult.Messge;
    } }
    catch (Exception ex)
    {
    _logger.Error(ex.Message);
    }
    } #endregion
  • 图片审核调用

            #region 图片审核
    /// <summary>
    /// 浏览选择图片
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void btBrowse_Click(object sender, EventArgs e)
    {
    try
    {
    //创建对象
    OpenFileDialog ofg = new OpenFileDialog();
    //设置默认打开路径,桌面
    ofg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    //设置打开标题、后缀
    ofg.Title = "请选择审核图片";
    ofg.Filter = "Png 图片|*.png|Jpg 图片|*.jpg|Jpeg 图片|*.jpeg|Bmp 图片|*.bmp|Gif 图片|*.gif";
    if (ofg.ShowDialog() == DialogResult.OK)
    {
    //得到打开的文件路径(包括文件名)
    txtImagePath.Text = ofg.FileName.ToString();
    Image img = Image.FromFile(ofg.FileName.ToString());
    this.picAuditImage.Image = img;
    }
    }
    catch (Exception ex)
    {
    _logger.Error(ex.Message);
    } } /// <summary>
    /// 审核图片
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void btAuditImage_Click(object sender, EventArgs e)
    {
    try
    {
    var ImageBytes = ImageHelper.ImageToBytes(txtImagePath.Text);
    if (ImageBytes==null)
    {
    lbImageAuditResult.ForeColor = Color.Red;
    lbImageAuditResult.Text = "确认选择的文件是否正确";
    }
    BaiDuResult baiDuResult = BaiduAI.CheckedImage(ImageBytes);
    if (baiDuResult.IsSuccess)
    {
    lbImageAuditResult.ForeColor =Color.Green;
    lbImageAuditResult.Text = "图片审核通过!";
    }
    else
    {
    lbImageAuditResult.ForeColor = Color.Red;
    lbImageAuditResult.Text = baiDuResult.Messge;
    } }
    catch (Exception ex)
    {
    _logger.Error(ex.Message);
    }
    } #endregion

演示调用

  • 文字审核

  • 图像审核

源码获取

关注公众号,后台回复关键字:BaiduAI文字和图像敏感审核

基于百度AI实现文字和图像敏感内容审核的更多相关文章

  1. python基于百度AI开发文字识别

    很多场景都会用到文字识别,比如app或者网站里都会上传身份证等证件以及财务系统识别报销证件等等 第一步,你需要去百度AI里去注册一个账号,然后新建一个文字识别的应用 然后你将得到一个API Key 和 ...

  2. 基于百度AI开放平台的人脸识别及语音合成

    基于百度AI的人脸识别及语音合成课题 课题需求 (1)人脸识别 在Web界面上传人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口识别人脸特征,接收平台返回的人员年龄.性别.颜 ...

  3. Python人工智能-基于百度AI接口

    参考百度AI官网:http://ai.baidu.com/ 准备工作: 支持Python版本:2.7.+ ,3.+ 安装使用Python SDK有如下方式 >如果已经安装了pip,执行 pip ...

  4. 基于百度ai,图灵机器人,Flask 实现的网站语音智能问答

    准备以下模块中的函数 from aip import AipSpeech import time import os import requests APP_ID = '15420654' API_K ...

  5. 基于百度AI人脸识别技术的Demo

    编写demo之前首先浏览官方API:http://ai.baidu.com/docs#/Face-API/top 下面是源码: package com.examsafety.test; import ...

  6. 基于百度AI实现 车牌识别

    前言 目前百度的AI接口相对完善,对于文字识别类的操作还需要开发者一一去尝试,去评估这效果到底是怎么的. 文字识别的接口相对简单,官方提供的SDK也集成很好,笔者只是在这上面做了一些前期性的功能数据校 ...

  7. 20-调用百度AI的文字识别

    本来准备自己写识别的,貌似现在能力不足,直接偷懒用百度的api吧 from aip import AipOcr """ 你的 APPID AK SK "&quo ...

  8. 基于Flask和百度AI实现与机器人对话

    实现对话机器人主要有个步骤 : 一.前端收集语音传入后端 二.后端基于百度AI接口进行语音识别,转换成文字 三.对文字进行自定义验证或通过图灵端口进行处理,生成回复内容 四.将文字通过百度AI接口合成 ...

  9. Python通过百度Ai识别图片中的文字

    版本:python3.7 工作中有需要识别图片中的汗字,查看了半天大神们的博客,但没找到完全可以用的源码,经过自己的实践,以下源码可以实现: 创建应用 首先你需要登录百度AI,选择文字识别,创建一个应 ...

  10. C# 10分钟完成百度图片提取文字(文字识别)——入门篇

    现在图片文字识别已经很成熟了,比如qq长按图片,点击图片识别就可以识别图片的文字,将不认识的.文字数量大的.或者不能赋值的值进行二次可复制功能. 我们现在就基于百度Ai开放平台进行个人文字识别,dem ...

随机推荐

  1. Firefox Quantum 向左,Google Chrome 向右

    今天,又重新安装了一下 Firefox Quantum-68.0 (64 位),不同的是这一次安装的是国际中文版,而不是北京谋智火狐的版本. 北京谋智火狐 国际中文版 总的来说,有几点体验: 在 ht ...

  2. 如何在 Linux 中查看目录大小?

    这是一篇关于如何通过一些常用的命令,显示 CentOS 或 RedHat 中的 Linux 目录大小,以及哪些文件夹占用的空间最大的教程. 搜索当前的 CentOS 或 RedHat 文件夹 您可以使 ...

  3. DevOps| 研发效能和PMO如何合作共赢?

    项目经理(PMO)对于大组织.跨团队高效协同有着不可替代的作用.跳出组织架构的束缚,横向推动公司级别的大项目向前推进,跟进进展和拿到结果,PMO的小伙伴有着独特的优势. 我之前写过小团队如何高效协作的 ...

  4. CANoe _ Panel面板的创建过程

    在Canoe中创建Panel面板,用于显示和操作CAN网络的数据和信号,遵循以下步骤: 1.打开Canoe 启动Canoe软件. 2.打开项目 在Canoe的菜单栏中,选择"File&quo ...

  5. Kali Sublist3r 报错解决办法

    直接将Sublist3r.py中文件的内容替换为下面的即可 具体的更改的东西改了很多地方就不细说了,直接复制粘贴 如果遇到Error: Virustotal probably now is block ...

  6. AR增强现实 之Metaio For Unity 开发 之HelloWorld

    开发工具 unity 4.6     MetaioSDK 6.1       代码编辑器 VS 2013 上图不会配置的请自行百度 1.创建项目并且导入Metaio SDk 开发包 2.导入后目录图 ...

  7. CF371D Vessels题解

    思路: 定义一个权值并查集,权值保存这个集合还可以存下多少水. 如果这个集合可以存放的水已经小于要装入的水,就将这个集合与下一个集合合并. 否则,直接把这个集合可以存放的水减去要装入的水的体积. 代码 ...

  8. Hexo博客Next主题添加粒子时钟特效

    博客应用canvas粒子时钟的操作步骤: 在\themes\next\layout\_custom\目录下,新建clock.swig文件,内容如下: <div style="" ...

  9. 跟运维学 Linux - 02

    文件操作和用户 复制移动和删除 在Windows中我们可以通过快捷键 ctrl + c 复制,ctrl + v 粘贴,在 linux 中需要使用命令. 复制移动 cp 就是 copy 的意思.请看示例 ...

  10. DataArts Studio实践丨通过Rest Client 接口读取RESTful接口数据的能力

    本文分享自华为云社区<DataArts Studio 通过Rest Client 接口读取RESTful接口数据的能力,通过Hive-SQL存储>,作者: 张浩奇 . Rest Clien ...