提交修改
This commit is contained in:
parent
b4bcf4e506
commit
5103de1e3f
@ -12,11 +12,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* https://next.api.aliyun.com/api/imagerecog/2019-09-30/ClassifyingRubbish?tab=DEMO&lang=JAVA
|
||||
* https://next.api.aliyun.com/api/imagerecog/2019-09-30/RecognizeImageColor
|
||||
* <p>
|
||||
* 垃圾分类识别
|
||||
* 颜色识别
|
||||
* <p>
|
||||
* ClassifyingRubbish
|
||||
* RecognizelmageColor
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
|
||||
@ -9,4 +9,7 @@ import lombok.Data;
|
||||
*/
|
||||
@Data
|
||||
public class ARecognizeImageStyleRequest extends ACommonTextRequest {
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,80 @@
|
||||
package com.heyu.api.controller.imagerecog;
|
||||
|
||||
|
||||
import com.aliyun.imagerecog20190930.models.RecognizeImageColorResponse;
|
||||
import com.aliyun.imagerecog20190930.models.RecognizeImageColorResponseBody;
|
||||
import com.heyu.api.alibaba.handle.imagerecog.ARecognizeImageColorHandle;
|
||||
import com.heyu.api.alibaba.request.imagerecog.ARecognizeImageColorRequest;
|
||||
import com.heyu.api.controller.BaseController;
|
||||
import com.heyu.api.data.annotation.CacheResult;
|
||||
import com.heyu.api.data.annotation.NotIntercept;
|
||||
import com.heyu.api.data.utils.ApiR;
|
||||
import com.heyu.api.data.utils.R;
|
||||
import com.heyu.api.request.imagerecog.RecognizeImageColorReq;
|
||||
import com.heyu.api.resp.imagerecog.RecognizeImageColorResp;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/***
|
||||
* https://next.api.aliyun.com/api/imagerecog/2019-09-30/RecognizeImageColor?tab=DOC
|
||||
* 颜色识别
|
||||
*
|
||||
*
|
||||
* RecognizelmageColor
|
||||
*
|
||||
* 功能描述
|
||||
* 颜色识别能力可以对输入图片的颜色信息进行分析,输出颜色值(RGB 形式和 HEX 格式)与对应的占比信息。
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/image/color")
|
||||
@NotIntercept
|
||||
public class RecognizeImageColorController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private ARecognizeImageColorHandle arRecognizeImageColorHandle;
|
||||
|
||||
|
||||
@RequestMapping("/recognize")
|
||||
@CacheResult
|
||||
public R recognize(RecognizeImageColorReq req) {
|
||||
|
||||
List<RecognizeImageColorResp> respList = new ArrayList<>();
|
||||
ARecognizeImageColorRequest request = new ARecognizeImageColorRequest();
|
||||
|
||||
request.setImageUrl(req.getImageUrl());
|
||||
request.setColorCount(req.getColorCount());
|
||||
request.setImageBase64(req.getImageBase64());
|
||||
|
||||
|
||||
ApiR<RecognizeImageColorResponse> aR = arRecognizeImageColorHandle.handle(request);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
RecognizeImageColorResponseBody.RecognizeImageColorResponseBodyData responseBodyData = aR.getData().getBody().getData();
|
||||
if (CollectionUtils.isNotEmpty(responseBodyData.getColorTemplateList())) {
|
||||
for (RecognizeImageColorResponseBody.RecognizeImageColorResponseBodyDataColorTemplateList templateList : responseBodyData.getColorTemplateList()) {
|
||||
|
||||
RecognizeImageColorResp resp = new RecognizeImageColorResp();
|
||||
resp.setColor(templateList.getColor());
|
||||
resp.setPercentage(templateList.getPercentage());
|
||||
resp.setLabel(templateList.getLabel());
|
||||
respList.add(resp);
|
||||
}
|
||||
}
|
||||
|
||||
return R.ok().setData(respList);
|
||||
|
||||
}
|
||||
|
||||
return R.error(aR.getErrorMsg());
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
package com.heyu.api.controller.imagerecog;
|
||||
|
||||
|
||||
import com.aliyun.imagerecog20190930.models.RecognizeImageStyleResponse;
|
||||
import com.aliyun.imagerecog20190930.models.RecognizeImageStyleResponseBody;
|
||||
import com.heyu.api.alibaba.handle.imagerecog.ARecognizeImageStyleHandle;
|
||||
import com.heyu.api.alibaba.request.imagerecog.ARecognizeImageStyleRequest;
|
||||
import com.heyu.api.controller.BaseController;
|
||||
import com.heyu.api.data.annotation.CacheResult;
|
||||
import com.heyu.api.data.annotation.NotIntercept;
|
||||
import com.heyu.api.data.utils.ApiR;
|
||||
import com.heyu.api.data.utils.R;
|
||||
import com.heyu.api.request.imagerecog.RecognizeImageStyleReq;
|
||||
import com.heyu.api.resp.imagerecog.RecognizeImageStyleResp;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/image/style")
|
||||
@NotIntercept
|
||||
public class RecognizeImageStyleController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private ARecognizeImageStyleHandle arRecognizeImageStyleHandle;
|
||||
|
||||
|
||||
@RequestMapping("/recognize")
|
||||
@CacheResult
|
||||
public R recognize(RecognizeImageStyleReq req) {
|
||||
RecognizeImageStyleResp resp = new RecognizeImageStyleResp();
|
||||
ARecognizeImageStyleRequest request = new ARecognizeImageStyleRequest();
|
||||
|
||||
request.setImageBase64(req.getImageBase64());
|
||||
request.setImageUrl(req.getImageUrl());
|
||||
|
||||
ApiR<RecognizeImageStyleResponse> aR = arRecognizeImageStyleHandle.handle(request);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
RecognizeImageStyleResponseBody.RecognizeImageStyleResponseBodyData responseBodyData = aR.getData().getBody().getData();
|
||||
if (CollectionUtils.isNotEmpty(responseBodyData.getStyles())) {
|
||||
resp.setStyleList(responseBodyData.getStyles());
|
||||
return R.ok().setData(resp);
|
||||
}
|
||||
|
||||
}
|
||||
return R.error(aR.getErrorMsg());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,80 @@
|
||||
package com.heyu.api.controller.imagerecog;
|
||||
|
||||
|
||||
import com.aliyun.imagerecog20190930.models.RecognizeSceneResponse;
|
||||
import com.aliyun.imagerecog20190930.models.RecognizeSceneResponseBody;
|
||||
import com.heyu.api.alibaba.handle.imagerecog.ARecognizeSceneHandle;
|
||||
import com.heyu.api.alibaba.request.imagerecog.ARecognizeSceneRequest;
|
||||
import com.heyu.api.controller.BaseController;
|
||||
import com.heyu.api.data.annotation.CacheResult;
|
||||
import com.heyu.api.data.annotation.NotIntercept;
|
||||
import com.heyu.api.data.utils.ApiR;
|
||||
import com.heyu.api.data.utils.R;
|
||||
import com.heyu.api.request.imagerecog.RecognizeSceneReq;
|
||||
import com.heyu.api.resp.imagerecog.RecognizeSceneResp;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/***
|
||||
*
|
||||
* https://next.api.aliyun.com/api/imagerecog/2019-09-30/RecognizeScene
|
||||
*场景识别
|
||||
*
|
||||
* RecognizeScene
|
||||
*
|
||||
* 功能描述
|
||||
* 场景识别能力可以识别图像中的场景环境,支持数十种常见场景,包括:
|
||||
*
|
||||
* 人物、动物、狗、猫、鱼、鸟、花、草地、蔬菜、植物、水果、餐厅、美食、聚餐、烧烤
|
||||
* 物品、手机、显示器
|
||||
* 室外、广场、建筑、游乐场、户外、公路、小河、山峰、夜景、天空、旅行、日出、日落、树林、沙滩、沙漠、海滨、湖、露营、街景、街道、运动、运动场、婚礼、演出
|
||||
* 地铁、汽车、火车、自行车、船、飞机
|
||||
* 其他
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/scene")
|
||||
@NotIntercept
|
||||
public class RecognizeSceneController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ARecognizeSceneHandle arRecognizeSceneHandle;
|
||||
|
||||
@RequestMapping("/recognize")
|
||||
@CacheResult
|
||||
public R recognize(RecognizeSceneReq req) {
|
||||
List<RecognizeSceneResp> respList = new ArrayList<>();
|
||||
ARecognizeSceneRequest request = new ARecognizeSceneRequest();
|
||||
request.setImageBase64(req.getImageBase64());
|
||||
request.setImageUrl(req.getImageUrl());
|
||||
|
||||
ApiR<RecognizeSceneResponse> aR = arRecognizeSceneHandle.handle(request);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
RecognizeSceneResponseBody.RecognizeSceneResponseBodyData responseBodyData = aR.getData().getBody().getData();
|
||||
if (CollectionUtils.isNotEmpty(responseBodyData.getTags())) {
|
||||
for (RecognizeSceneResponseBody.RecognizeSceneResponseBodyDataTags tag : responseBodyData.getTags()) {
|
||||
RecognizeSceneResp resp = new RecognizeSceneResp();
|
||||
resp.setConfidence(tag.getConfidence());
|
||||
resp.setValue(tag.getValue());
|
||||
respList.add(resp);
|
||||
}
|
||||
return R.ok().setData(respList);
|
||||
}
|
||||
|
||||
}
|
||||
return R.error(aR.getErrorMsg());
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package com.heyu.api.request.imagerecog;
|
||||
|
||||
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RecognizeImageColorReq extends CommonReq {
|
||||
|
||||
|
||||
/**
|
||||
* 期望的色板输出数量。取值范围 1~10,默认值为 3。
|
||||
*
|
||||
* 示例值:
|
||||
* 5
|
||||
* 正则:
|
||||
* ^\d+$
|
||||
* 取值 <= 16
|
||||
*/
|
||||
private Integer colorCount = 3;
|
||||
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
package com.heyu.api.request.imagerecog;
|
||||
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RecognizeImageStyleReq extends CommonReq {
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package com.heyu.api.request.imagerecog;
|
||||
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RecognizeSceneReq extends CommonReq {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package com.heyu.api.resp.imagerecog;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RecognizeImageColorResp extends BaseResp {
|
||||
|
||||
|
||||
/***
|
||||
* RGB 颜色值(16 进制),例如:291A18。
|
||||
*
|
||||
* 示例值:
|
||||
* 270315
|
||||
*/
|
||||
public String color;
|
||||
|
||||
|
||||
/***
|
||||
* 颜色标签,共 11 种:black(黑色)、white(白色)、gray(灰色)、red(红色)、orange(橙色)、yellow(黄色)、green(绿色)、cyan(青色)、blue(蓝色)、purple(紫色)、magenta(紫红色)。
|
||||
*
|
||||
* 示例值:
|
||||
* red
|
||||
*/
|
||||
public String label;
|
||||
|
||||
/***
|
||||
* 当前颜色标签所占比例,取值范围[0.0, 1.0]。
|
||||
*
|
||||
* 示例值:
|
||||
* 0.459527
|
||||
*/
|
||||
public Float percentage;
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package com.heyu.api.resp.imagerecog;
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class RecognizeImageStyleResp extends BaseResp {
|
||||
|
||||
|
||||
/***
|
||||
* 功能描述
|
||||
* 风格识别能力可以对输入图像的风格类型进行分析,识别可能的风格与语意标签。可以识别的风格包括:chinese(中国风)
|
||||
* 、watercolor(水彩)、cartoon(卡通)、real(实景)、standard(标准)、simple(简洁)、lively(活泼)、
|
||||
* colourful(多彩)、luxury(豪华)、technology(科技)、morbidezza(柔美)、strong(硬朗)、
|
||||
* simpleelegant(素雅)、coolcold(高冷)、promotion(促销)、protrude(突出)。
|
||||
* 关于该接口功能的示例图如下: 视觉风格为中国风,语义风格为促销
|
||||
*/
|
||||
private List<String> styleList;
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package com.heyu.api.resp.imagerecog;
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RecognizeSceneResp extends BaseResp {
|
||||
|
||||
|
||||
/***
|
||||
* 标签名称的置信度。取值范围 0~100。
|
||||
*
|
||||
* 示例值:
|
||||
* 79
|
||||
*
|
||||
*/
|
||||
public Float confidence;
|
||||
|
||||
|
||||
/***
|
||||
* 标签名称。
|
||||
*
|
||||
* 示例值:
|
||||
* 船
|
||||
*/
|
||||
public String value;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user