
# 翻拍识别-RunRecaptureDetect
#### 功能介绍
零售行业通常根据零售店的销售量进行销售奖励，拍摄售出商品的条形码上传后台是常用的统计方式。翻拍识别利用深度神经网络算法判断条形码图片为原始拍摄，还是经过二次翻拍、打印翻拍等手法二次处理的图片。利用翻拍识别，可以检测出经过二次处理的不合规范图片，使得统计数据更准确、有效。
![](https://support.huaweicloud.com/api-image/public_sys-resources/note_3.0-zh-cn.png)
目前只支持华为系列商品的条形码的翻拍识别。
#### 前提条件
- 使用翻拍识别服务之前需要您完成[服务申请](https://support.huaweicloud.com/api-image/image_03_0018.html)和[认证鉴权](https://support.huaweicloud.com/api-image/image_03_0003.html)。
- 图像识别服务属于公有云服务，线上用户资源共享，如果需要多并发请求，请提前[联系我们](https://www.huaweicloud.com/service/contact.html)。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=Image&api=RunRecaptureDetect)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v2/{project_id}/image/recapture-detect
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 用户的项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-image/image_03_0035.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。用于获取操作API的权限。获取方法请参见[获取Token接口](https://support.huaweicloud.com/api-image/image_03_0003.html)，响应消息头中X-Subject-Token的值即为Token。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| image     | 否    | String | **参数解释：** 用户Token。用于获取操作API的权限。获取方法请参见[获取Token接口](https://support.huaweicloud.com/api-image/image_03_0003.html)，响应消息头中X-Subject-Token的值即为Token。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 与url二选一。 图像数据，base64编码，要求base64编码后大小不超过10MB，最短边至少1px，最长边最大10000px，支持JPG、PNG、BMP格式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| url       | 否    | String | **参数解释：** 用户Token。用于获取操作API的权限。获取方法请参见[获取Token接口](https://support.huaweicloud.com/api-image/image_03_0003.html)，响应消息头中X-Subject-Token的值即为Token。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 与image二选一。 图片的URL路径，目前支持： - 公网HTTP/HTTPS URL  - 华为云OBS提供的URL，使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权。详请参见[配置OBS服务的访问权限](https://support.huaweicloud.com/api-moderation/moderation_03_0020.html)。   说明： - 接口响应时间依赖于图片的下载时间，如果图片下载时间过长，会返回接口调用失败。  - 请保证被检测图片所在的存储服务稳定可靠，建议您使用华为云OBS存储。  - lmage不支持跨区域OBS，OBS的区域需要和服务保持一致。   |
| threshold | 否    | Float  | **参数解释：** 用户Token。用于获取操作API的权限。获取方法请参见[获取Token接口](https://support.huaweicloud.com/api-image/image_03_0003.html)，响应消息头中X-Subject-Token的值即为Token。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 判断图片真实或虚假的阈值，默认值为0.95，取值范围（0\~1），输入非该范围内值算法即取默认值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数     | 参数类型                                             | 描述                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| result | [result] object | **参数解释：** 调用成功时为图片标签内容。 调用失败时无此字段。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
 表5result 
| 参数         | 参数类型                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| suggestion | String                                                     | **参数解释：** 总体的结论。 **约束限制：** 不涉及。 **取值范围：** 有三个取值： - true：真实，表明算法识别是原图。  - false：虚假，表明算法识别是翻拍图。  - uncertainty：不确定。   **默认取值：** 不涉及。 |
| category   | String                                                     | **参数解释：** 标签。 **约束限制：** 不涉及。 **取值范围：** 取值有以下两种情况： - 若suggestion字段为true时，category为空。  - 若suggestion字段为false或者uncertainty时，category固定为recapture，表示可能为翻拍图。   **默认取值：** 不涉及。                 |
| score      | String                                                     | **参数解释：** 总体置信度。 **约束限制：** 不涉及。 **取值范围：** 0-1。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                       |
| detail     | Array of [detail] objects | **参数解释：** 识别结果详情。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                |
   
 表6detail 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| label      | String | **参数解释：** 标签值，固定为recapture，表示翻拍图。 **约束限制：** 不涉及。 **取值范围：** 固定为recapture。 **默认取值：** 不涉及。 |
| confidence | String | **参数解释：** 置信度，表示是翻拍图的概率大小。 **约束限制：** 不涉及。 **取值范围：** 0-1。 **默认取值：** 不涉及。                     |
   
**状态码： 400**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| error_code | String | **参数解释：** 调用失败时的错误码，具体请参见[错误码](https://support.huaweicloud.com/api-image/image_03_0010.html)。 调用成功时无此字段。 **取值范围：** 不涉及。 |
| error_msg  | String | **参数解释：** 调用失败时的错误信息。 调用成功时无此字段。 **取值范围：** 不涉及。                                                                          |
   
#### 请求示例
- 方式一：使用图片的BASE64编码，检测出经过二次处理的不合规范图片，置信度的阈值为0.99。
  ```
  POST https://{endpoint}/v2/{project_id}/image/recapture-detect
  {
    "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAA...",
    "url" : "",
    "threshold" : 0.99
  }
  ```
  
- 方式二：使用图片URL，检测出经过二次处理的不合规范图片，置信度的阈值为0.99。
  ```
  POST https://{endpoint}/v2/{project_id}/image/recapture-detect
  {
    "image" : "",
    "url" : "https://BucketName.obs.myhuaweicloud.com/ObjectName",
    "threshold" : 0.99
  }
  ```
  
 
#### 响应示例
**状态码： 200**
成功响应结果
```
{
  "result" : {
    "suggestion" : "false",
    "category" : "recapture",
    "score" : "0.9998",
    "detail" : [ {
      "label" : "recapture",
      "confidence" : "0.9998"
    } ]
  }
}
```
**状态码： 400**
失败响应结果
```
{
  "error_code" : "AIS.0105",
  "error_msg" : "Recognize Failed"
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | 成功响应结果。 |
| 400 | 失败响应结果。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-image/image_03_0010.html)。
