使用百度API进行图片色情识别

通过使用百度API进行图片色情识别

具体文档:http://ai.baidu.com/docs#/ImageCensoring-API/top

使用之前需要获取对应的项目APP_ID,API_KEY,SECRET_KEY,这些参数在使用API的时候必须用到。

如何获取这些参数:在百度开发者中心申请一个项目,然后就可以获取到这些参数。

准备条件都完成了,现在开始进行图像识别了。

1.创建相应的java工程,使用maven进行版本管理

2. 在maven.pom中添加

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.20</version>
    <scope>provided</scope>
</dependency>
<!--百度api-->
<dependency>
    <groupId>com.baidu.aip</groupId>
    <artifactId>java-sdk</artifactId>
    <version>4.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.46</version>
</dependency>

3.创建相应的工具类,例如Check.java

package com.wsk.netty.check;

import com.baidu.aip.imagecensor.AipImageCensor;
import org.json.JSONObject;

import java.io.File;

/** * 图片审覈 * * @Author : WuShukai * @Date :2018/2/12 9:43 */

public class Check {
    //设置APPID/AK/SK
    private static final String APP_ID = "**";
    private static final String API_KEY = "**";
    private static final String SECRET_KEY = "**";

    /** * @param path 图片地址 */
    public void checkPornograp(String path) {
        if (!new File(path).exists()) {
            throw new NullPointerException("图片不存在");
        }
        // 初始化一个AipImageCensor
        AipImageCensor client = new AipImageCensor(APP_ID, API_KEY, SECRET_KEY);
        // 可选:设置网络连接参数
        client.setConnectionTimeoutInMillis(2000);
        client.setSocketTimeoutInMillis(60000);
        // 调用接口
        JSONObject res = client.antiPorn(path);
        System.out.println(res.toString(2));
    }

    public static void main(String[] args) {
        Check check = new Check();
        String path = "E:\\download\\t.jpg";
        check.checkPornograp(path);
    }
}

4.返回结果,各个参数都非常容易懂,就不累赘了。

{
  "result": [ { "probability": 2.06E-4, "class_name": "色情" }, { "probability": 1.0E-5, "class_name": "性感" }, { "probability": 0.999784, "class_name": "正常" } ],
  "conclusion": "正常",
  "log_id": 4363824035907851234,
  "confidence_coefficient": "确定",
  "result_num": 3 }
点赞