本文档为您介绍智能构图IntelligentComposition的语法及示例。

功能描述

IntelligentComposition通过对输入图像进行美学评估,智能输出bounding box,根据这些bounding box可以将原图裁剪成更好的图像。

  • 原图如下,红绿蓝三个框为输出bounding box。
  • 结果图像如下,可以输出多个候选bounding box并由每个bounding box的分数表示构图得分,分数越高说明切图后构图越好。这里是根据输出最高分的红色bbox切图的结果。

前提条件

请确保您已开通图像生产服务,详情请参见服务开通

输入限制

  • 请求格式:JPEG、JPG、PNG、BMP、WEBP。
  • 图像大小:无限制,但图像太大可能会导致下载或解码超时。
  • 图像分辨率:图片分辨率要求32×32像素以上。
  • 图片URL中不能包含中文字符。
说明 请求图像需经过base64编码:图像的base64编码指将一副图像数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图像的二进制,然后用Base64格式编码即可。图像的base64编码是不包含图像头的,例如(data:image/jpg;base64,)

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String IntelligentComposition

要执行的操作。取值:IntelligentComposition。

ImageURL String https://viapi-test.oss-cn-shanghai.aliyuncs.com/test/ant_ai/vehicle_dashboard/test_dashboard.png

图片URL地址。当前仅支持上海地域的OSS链接,如何生成URL请参见生成URL

NumBoxes Integer 5

输出框的个数,默认值5,取值范围1~10,小于或超出范围会截断取值。

返回数据

名称 类型 示例值 描述
Data Struct

返回的结果数据内容。

Elements Array

智能构图结果。

MaxX Integer 981

输出框的右下角横坐标。

MaxY Integer 672

输出框的右下角纵坐标。

MinX Integer 43

输出框的左上角横坐标。

MinY Integer 96

输出框的左上角纵坐标。

Score Float 3.6567564

输出框的评分,取值范围0~5。分数越高说明构图效果越好,推荐3.8以上为较好构图得分。

RequestId String C1D52018-D67A-46AD-9AAA-031750A6E770

请求ID。

示例

请求示例

http(s)://imageenhan.cn-shanghai.aliyuncs.com/?Action=IntelligentComposition
&ImageURL=https://viapi-test.oss-cn-shanghai.aliyuncs.com/test/ant_ai/vehicle_dashboard/test_dashboard.png
&NumBoxes=5
&<公共请求参数>

正常返回示例

XML 格式

<RequestId>C1D52018-D67A-46AD-9AAA-031750A6E770</RequestId>
<Data>
    <Elements>
        <MaxX>981</MaxX>
        <MaxY>672</MaxY>
        <MinX>43</MinX>
        <Score>3.6567564</Score>
        <MinY>96</MinY>
    </Elements>
    <Elements>
        <MaxX>896</MaxX>
        <MaxY>736</MaxY>
        <MinX>43</MinX>
        <Score>3.594815</Score>
        <MinY>32</MinY>
    </Elements>
    <Elements>
        <MaxX>981</MaxX>
        <MaxY>736</MaxY>
        <MinX>43</MinX>
        <Score>3.5908668</Score>
        <MinY>32</MinY>
    </Elements>
    <Elements>
        <MaxX>981</MaxX>
        <MaxY>608</MaxY>
        <MinX>43</MinX>
        <Score>3.5745924</Score>
        <MinY>96</MinY>
    </Elements>
    <Elements>
        <MaxX>896</MaxX>
        <MaxY>672</MaxY>
        <MinX>43</MinX>
        <Score>3.5324287</Score>
        <MinY>96</MinY>
    </Elements>
</Data>

JSON 格式

{
  "RequestId": "C1D52018-D67A-46AD-9AAA-031750A6E770",
  "Data": {
    "Elements": [
      {
        "MaxX": 981,
        "MaxY": 672,
        "MinX": 43,
        "Score": 3.6567564,
        "MinY": 96
      },
      {
        "MaxX": 896,
        "MaxY": 736,
        "MinX": 43,
        "Score": 3.594815,
        "MinY": 32
      },
      {
        "MaxX": 981,
        "MaxY": 736,
        "MinX": 43,
        "Score": 3.5908668,
        "MinY": 32
      },
      {
        "MaxX": 981,
        "MaxY": 608,
        "MinX": 43,
        "Score": 3.5745924,
        "MinY": 96
      },
      {
        "MaxX": 896,
        "MaxY": 672,
        "MinX": 43,
        "Score": 3.5324287,
        "MinY": 96
      }
    ]
  }
}

错误码

关于智能构图的错误码,详情请参见常见错误码

SDK参考

单击SDK简介查看SDK信息。