利用Java实现人像分割(去除背景,保留人像 )

maven依赖


	com.baidu.aip
	java-sdk
	4.11.3

然后去这个网站自己申请https://console.bce.baidu.com/ App ID,API Key,Secret Key。

1)登录百度智能云账号,找到管理控制台,创建应用

利用Java实现人像分割(去除背景,保留人像 )_第1张图片

利用Java实现人像分割(去除背景,保留人像 )_第2张图片

2)点击创建应用, 

利用Java实现人像分割(去除背景,保留人像 )_第3张图片

3)完成之后,会得到你想要的AppId、API Key、Secret Key。

利用Java实现人像分割(去除背景,保留人像 )_第4张图片

 

接下来自己创建类吧

import java.util.HashMap;
 
import org.json.JSONObject;
 
import com.baidu.aip.bodyanalysis.AipBodyAnalysis;
 
public class Sample {
	//设置APPID/AK/SK
    public static final String APP_ID = "App ID";//自己的App ID
    public static final String API_KEY = "Api Key";//自己的 Api Key
    public static final String SECRET_KEY = "Secret Key";//自己的Secret Key
    
    public static String sample(AipBodyAnalysis client) {
        // 传入可选参数调用接口
        HashMap options = new HashMap();
        options.put("type", "foreground");
        
        
        // 参数为本地路径
        String image = "temp.jpg";//图片的路径
        JSONObject res = client.bodySeg(image, options);
        return res.get("foreground").toString();
        
 
        
    }
    
  
}

在用到的地方:

AipBodyAnalysis c = new AipBodyAnalysis(Sample.APP_ID, Sample.API_KEY, Sample.SECRET_KEY);
		String sam = Sample.sample(c);
		System.out.println(sam);

打印出来的sam的值,即为二进制的图片值 ,

我的代码中是:return res.get("foreground").toString();

所以返回的只有foreground的值。

如果想要展示出图片,需要加上base64的前缀:“data:image/jpeg;base64,”
 

你可能感兴趣的:(spring,boot)