提交修改

This commit is contained in:
quyixiao 2025-03-16 19:13:18 +08:00
parent 245cc0882a
commit e299a68fad
16 changed files with 482 additions and 0 deletions

View File

@ -0,0 +1,62 @@
package com.heyu.api.controller.imageenhan;
import com.aliyun.imageenhan20190930.models.AssessCompositionResponse;
import com.aliyun.imageenhan20190930.models.AssessCompositionResponseBody;
import com.heyu.api.alibaba.handle.imageenhan.AAssessCompositionHandle;
import com.heyu.api.alibaba.request.imageenhan.AAssessCompositionRequest;
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.imageenhan.ImageDecodeBlindPicWatermarkReq;
import com.heyu.api.resp.imageenhan.ImageDecodeBlindPicWatermarkResp;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/***
* https://next.api.aliyun.com/api/imageenhan/2019-09-30/AssessComposition?tab=DEMO&lang=JAVA&RegionId=cn-shanghai
*
* 图像构图美学评分 AssessComposition
*功能描述
* 图像构图美学评分能力可以对输入的图像进行构图美学评分评分越高构图效果越好
*
*/
@Slf4j
@RestController
@RequestMapping("/image")
@NotIntercept
public class AssessCompositionController extends BaseController {
@Autowired
private AAssessCompositionHandle assessCompositionHandle;
@RequestMapping("/composition")
@CacheResult
public R composition(ImageDecodeBlindPicWatermarkReq req) {
ImageDecodeBlindPicWatermarkResp resp = new ImageDecodeBlindPicWatermarkResp();
AAssessCompositionRequest request = new AAssessCompositionRequest();
request.setImageBase64(req.getImageBase64());
request.setImageUrl(req.getImageUrl());
ApiR<AssessCompositionResponse> apiR = assessCompositionHandle.handle(request);
if (apiR.isSuccess() && isSuccessStatusCode(apiR.getData().getStatusCode())) {
AssessCompositionResponseBody.AssessCompositionResponseBodyData responseBodyData = apiR.getData().getBody().getData();
resp.setScore(responseBodyData.getScore());
return R.ok().setData(resp);
}
return R.error();
}
}

View File

@ -0,0 +1,57 @@
package com.heyu.api.controller.imageenhan;
import com.aliyun.imageenhan20190930.models.AssessExposureResponse;
import com.aliyun.imageenhan20190930.models.AssessExposureResponseBody;
import com.heyu.api.alibaba.handle.imageenhan.AAssessExposureHandle;
import com.heyu.api.alibaba.request.imageenhan.AAssessExposureRequest;
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.imageenhan.AssessExposureReq;
import com.heyu.api.resp.imageenhan.AssessExposureResp;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/***
* https://next.api.aliyun.com/api/imageenhan/2019-09-30/AssessExposure?tab=DOC
*
* 功能描述
* 图像曝光度评分能力可以对输入的图像进行曝光度评分评分越高曝光越大
*/
@Slf4j
@RestController
@RequestMapping("/image")
@NotIntercept
public class AssessExposureController extends BaseController {
@Autowired
private AAssessExposureHandle aAssessExposureHandle;
@RequestMapping("/exposure")
@CacheResult
public R exposure(AssessExposureReq req) {
AssessExposureResp resp = new AssessExposureResp();
AAssessExposureRequest assessExposureRequest = new AAssessExposureRequest();
assessExposureRequest.setImageBase64(req.getImageBase64());
assessExposureRequest.setImageUrl(req.getImageUrl());
ApiR<AssessExposureResponse> aR = aAssessExposureHandle.handle(assessExposureRequest);
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
AssessExposureResponseBody.AssessExposureResponseBodyData responseBodyData = aR.getData().getBody().getData();
resp.setExposure(responseBodyData.getExposure());
return R.ok().setData(resp);
}
return R.ok();
}
}

View File

@ -0,0 +1,60 @@
package com.heyu.api.controller.imageenhan;
import com.aliyun.imageenhan20190930.models.AssessSharpnessResponse;
import com.aliyun.imageenhan20190930.models.AssessSharpnessResponseBody;
import com.heyu.api.alibaba.handle.imageenhan.AAssessSharpnessHandle;
import com.heyu.api.alibaba.request.imageenhan.AAssessSharpnessRequest;
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.imageenhan.AssessExposureReq;
import com.heyu.api.resp.imageenhan.AssessExposureResp;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/***
* https://next.api.aliyun.com/api/imageenhan/2019-09-30/AssessSharpness
*图像清晰度评分 AssessSharpness
*功能描述
* 图像清晰度评分能力可以对输入的图像进行清晰度评分评分越高图像越清晰
*
*
*/
@Slf4j
@RestController
@RequestMapping("/image")
@NotIntercept
public class AssessSharpnessController extends BaseController {
@Autowired
private AAssessSharpnessHandle aAssessSharpnessHandle;
@RequestMapping("/exposure")
@CacheResult
public R exposure(AssessExposureReq req) {
AssessExposureResp resp = new AssessExposureResp();
AAssessSharpnessRequest request = new AAssessSharpnessRequest();
request.setImageUrl(req.getImageUrl());
request.setImageBase64(req.getImageBase64());
ApiR<AssessSharpnessResponse> aR = aAssessSharpnessHandle.handle(request);
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
AssessSharpnessResponseBody.AssessSharpnessResponseBodyData responseBodyData = aR.getData().getBody().getData();
resp.setExposure(responseBodyData.getSharpness());
return R.ok().setData(resp);
}
return R.error(aR.getErrorMsg());
}
}

View File

@ -0,0 +1,66 @@
package com.heyu.api.controller.imageenhan;
import com.aliyun.imageenhan20190930.models.ChangeImageSizeResponse;
import com.aliyun.imageenhan20190930.models.ChangeImageSizeResponseBody;
import com.heyu.api.alibaba.handle.imageenhan.AChangeImageSizeHandle;
import com.heyu.api.alibaba.request.imageenhan.AChangeImageSizeRequest;
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.imageenhan.ChangeImageSizeReq;
import com.heyu.api.resp.imageenhan.ChangeImageSizeResp;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/***
* https://next.api.aliyun.com/api/imageenhan/2019-09-30/ChangeImageSize?tab=DOC&lang=JAVA&RegionId=cn-shanghai
*
*
*图像裁剪
*
* ChangelmageSize
*
*
* 功能描述
* 图像裁剪能力可以对输入的图像按照指定尺寸变换支持自动判断主体区域位置使用更好的裁剪方式对图像进行裁剪
*
*
*/
@Slf4j
@RestController
@RequestMapping("/image")
@NotIntercept
public class ChangeImageSizeController extends BaseController {
@Autowired
private AChangeImageSizeHandle aChangeImageSizeHandle;
@RequestMapping("/changeSize")
@CacheResult
public R changeSize(ChangeImageSizeReq req) {
ChangeImageSizeResp resp = new ChangeImageSizeResp();
AChangeImageSizeRequest aChangeImageSizeRequest = new AChangeImageSizeRequest();
aChangeImageSizeRequest.setImageBase64(req.getImageBase64());
aChangeImageSizeRequest.setWidth(req.getWidth());
aChangeImageSizeRequest.setHeight(req.getHeight());
aChangeImageSizeRequest.setImageUrl(req.getImageUrl());
ApiR<ChangeImageSizeResponse> aR = aChangeImageSizeHandle.handle(aChangeImageSizeRequest);
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
ChangeImageSizeResponseBody.ChangeImageSizeResponseBodyData responseBodyData = aR.getData().getBody().getData();
resp.setImageURL(responseBodyData.getUrl());
return R.ok().setData(resp);
}
return R.error();
}
}

View File

@ -0,0 +1,67 @@
package com.heyu.api.controller.imageenhan;
import com.aliyun.imageenhan20190930.models.ColorizeImageResponse;
import com.aliyun.imageenhan20190930.models.ColorizeImageResponseBody;
import com.heyu.api.alibaba.handle.imageenhan.AColorizeImageHandle;
import com.heyu.api.alibaba.request.imageenhan.AColorizeImageRequest;
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.imageenhan.ColorizeImageReq;
import com.heyu.api.resp.imageenhan.ColorizeImageResp;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* https://next.api.aliyun.com/api/imageenhan/2019-09-30/ColorizeImage?tab=DOC&lang=JAVA&RegionId=cn-shanghai
* <p>
* <p>
* <p>
* 功能描述
* 图片上色能力可以对黑白照片黑白图像自动上色 关于该接口功能的示例图如下
* 应用场景
* 黑白老照片还原上个世纪拍摄的黑白照片可以通过图片上色自动变成彩色照片
* 绘画自动上色绘画作品平面设计通过图片上色可以自动上色加快生成效率
* 特色优势
* 真实还原真实还原照片中拍摄现场的色彩
* 适合各种场景适合人物风景街景等各种拍摄场景
*/
@Slf4j
@RestController
@RequestMapping("/image")
@NotIntercept
public class ColorizeImageController extends BaseController {
@Autowired
private AColorizeImageHandle colorizeImageHandle;
@RequestMapping("/exposure")
@CacheResult
public R exposure(ColorizeImageReq req) {
ColorizeImageResp resp = new ColorizeImageResp();
AColorizeImageRequest request = new AColorizeImageRequest();
request.setImageBase64(req.getImageBase64());
request.setImageUrl(req.getImageUrl());
ApiR<ColorizeImageResponse> aR = colorizeImageHandle.handle(request);
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
ColorizeImageResponseBody.ColorizeImageResponseBodyData responseBodyData = aR.getData().getBody().getData();
resp.setImageURL(responseBodyData.getImageURL());
return R.ok().setData(resp);
}
return R.error(aR.getErrorMsg());
}
}

View File

@ -0,0 +1,36 @@
package com.heyu.api.controller.imageenhan;
import com.heyu.api.alibaba.handle.imageenhan.AImageDecodeBlindPicWatermarkHandle;
import com.heyu.api.alibaba.request.imageenhan.AImageDecodeBlindPicWatermarkRequest;
import com.heyu.api.data.annotation.CacheResult;
import com.heyu.api.data.annotation.NotIntercept;
import com.heyu.api.data.utils.R;
import com.heyu.api.request.imageenhan.ImageDecodeBlindPicWatermarkReq;
import lombok.extern.slf4j.Slf4j;
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")
@NotIntercept
public class ImageDecodeBlindPicWatermarkController {
@Autowired
private AImageDecodeBlindPicWatermarkHandle aImageDecodeBlindPicWatermarkHandle;
@RequestMapping("/decodePicWatermark")
@CacheResult
public R scan(ImageDecodeBlindPicWatermarkReq req) {
AImageDecodeBlindPicWatermarkRequest aImageDecodeBlindPicWatermarkRequest = new AImageDecodeBlindPicWatermarkRequest();
aImageDecodeBlindPicWatermarkHandle.handle(aImageDecodeBlindPicWatermarkRequest);
return R.error();
}
}

View File

@ -0,0 +1,11 @@
package com.heyu.api.request.imageenhan;
import com.heyu.api.request.CommonReq;
import lombok.Data;
@Data
public class AssessExposureReq extends CommonReq {
}

View File

@ -0,0 +1,14 @@
package com.heyu.api.request.imageenhan;
import com.heyu.api.data.dto.BaseReq;
import lombok.Data;
@Data
public class AssessSharpnessReq extends BaseReq {
}

View File

@ -0,0 +1,30 @@
package com.heyu.api.request.imageenhan;
import com.heyu.api.request.CommonReq;
import lombok.Data;
@Data
public class ChangeImageSizeReq extends CommonReq {
/**
* 目标宽度单位像素
*
* 示例值:
* 800
* 取值 <= 2000
*/
private Integer width;
/**
* 目标高度单位像素
*
* 示例值:
* 600
* 取值 <= 2000
*/
private Integer height;
}

View File

@ -0,0 +1,8 @@
package com.heyu.api.request.imageenhan;
import com.heyu.api.request.CommonReq;
import lombok.Data;
@Data
public class ColorizeImageReq extends CommonReq {
}

View File

@ -0,0 +1,13 @@
package com.heyu.api.request.imageenhan;
import com.heyu.api.request.CommonReq;
import lombok.Data;
@Data
public class ImageDecodeBlindPicWatermarkReq extends CommonReq {
}

View File

@ -0,0 +1,17 @@
package com.heyu.api.resp.imageenhan;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class AssessExposureResp extends BaseResp {
/***
* Exposure
* number<float>
* 图像曝光度评分取值范围 0~1评分越高表示曝光度越大
*
* 示例值:
* 0.1
*/
private Float exposure;
}

View File

@ -0,0 +1,9 @@
package com.heyu.api.resp.imageenhan;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class AssessSharpnessResp extends BaseResp {
}

View File

@ -0,0 +1,12 @@
package com.heyu.api.resp.imageenhan;
import com.heyu.api.resp.CommonImageUrlResp;
import lombok.Data;
@Data
public class ChangeImageSizeResp extends CommonImageUrlResp {
}

View File

@ -0,0 +1,9 @@
package com.heyu.api.resp.imageenhan;
import com.heyu.api.resp.CommonImageUrlResp;
import lombok.Data;
@Data
public class ColorizeImageResp extends CommonImageUrlResp {
}

View File

@ -0,0 +1,11 @@
package com.heyu.api.resp.imageenhan;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class ImageDecodeBlindPicWatermarkResp extends BaseResp {
private Float score;
}