diff --git a/api-third/src/main/java/com/heyu/api/alibaba/handle/imagerecog/ARecognizeImageColorHandle.java b/api-third/src/main/java/com/heyu/api/alibaba/handle/imagerecog/ARecognizeImageColorHandle.java
index 97cb07d..43c200e 100644
--- a/api-third/src/main/java/com/heyu/api/alibaba/handle/imagerecog/ARecognizeImageColorHandle.java
+++ b/api-third/src/main/java/com/heyu/api/alibaba/handle/imagerecog/ARecognizeImageColorHandle.java
@@ -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
*
- * 垃圾分类识别
+ * 颜色识别
*
- * ClassifyingRubbish
+ * RecognizelmageColor
*/
@Component
@Slf4j
diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/imagerecog/ARecognizeImageStyleRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/imagerecog/ARecognizeImageStyleRequest.java
index 27c6b79..f85394e 100644
--- a/api-third/src/main/java/com/heyu/api/alibaba/request/imagerecog/ARecognizeImageStyleRequest.java
+++ b/api-third/src/main/java/com/heyu/api/alibaba/request/imagerecog/ARecognizeImageStyleRequest.java
@@ -9,4 +9,7 @@ import lombok.Data;
*/
@Data
public class ARecognizeImageStyleRequest extends ACommonTextRequest {
+
+
+
}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/imagerecog/RecognizeImageColorController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/imagerecog/RecognizeImageColorController.java
new file mode 100644
index 0000000..66af80c
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/imagerecog/RecognizeImageColorController.java
@@ -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 respList = new ArrayList<>();
+ ARecognizeImageColorRequest request = new ARecognizeImageColorRequest();
+
+ request.setImageUrl(req.getImageUrl());
+ request.setColorCount(req.getColorCount());
+ request.setImageBase64(req.getImageBase64());
+
+
+ ApiR 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());
+
+
+ }
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/imagerecog/RecognizeImageStyleController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/imagerecog/RecognizeImageStyleController.java
new file mode 100644
index 0000000..684d670
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/imagerecog/RecognizeImageStyleController.java
@@ -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 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());
+ }
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/imagerecog/RecognizeSceneController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/imagerecog/RecognizeSceneController.java
new file mode 100644
index 0000000..50bf353
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/imagerecog/RecognizeSceneController.java
@@ -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 respList = new ArrayList<>();
+ ARecognizeSceneRequest request = new ARecognizeSceneRequest();
+ request.setImageBase64(req.getImageBase64());
+ request.setImageUrl(req.getImageUrl());
+
+ ApiR 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());
+
+
+ }
+
+
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/RecognizeImageColorReq.java b/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/RecognizeImageColorReq.java
new file mode 100644
index 0000000..98220f1
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/RecognizeImageColorReq.java
@@ -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;
+
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/RecognizeImageStyleReq.java b/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/RecognizeImageStyleReq.java
new file mode 100644
index 0000000..056e600
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/RecognizeImageStyleReq.java
@@ -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 {
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/RecognizeSceneReq.java b/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/RecognizeSceneReq.java
new file mode 100644
index 0000000..5bcc8e9
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/RecognizeSceneReq.java
@@ -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 {
+
+
+
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/imagerecog/RecognizeImageColorResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/imagerecog/RecognizeImageColorResp.java
new file mode 100644
index 0000000..e15693b
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/imagerecog/RecognizeImageColorResp.java
@@ -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;
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/imagerecog/RecognizeImageStyleResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/imagerecog/RecognizeImageStyleResp.java
new file mode 100644
index 0000000..3e4c25d
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/imagerecog/RecognizeImageStyleResp.java
@@ -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 styleList;
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/imagerecog/RecognizeSceneResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/imagerecog/RecognizeSceneResp.java
new file mode 100644
index 0000000..874bf7d
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/imagerecog/RecognizeSceneResp.java
@@ -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;
+}