简介
本文档提供关于图片二维码相关 API 概览以及 SDK 示例代码。
API | 操作描述 |
二维码识别功能可识别图片中有效二维码的位置及内容,输出图像中二维码包含的文本信息(每个二维码对应的 URL 或文本),并可对识别出的二维码添加马赛克。 |
二维码识别
二维码识别功能可识别图片中有效二维码的位置及内容,输出图像中二维码包含的文本信息(每个二维码对应的 URL 或文本),并可对识别出的二维码添加马赛克。
上传时识别二维码
功能说明
图片上传时识别二维码的请求包与 COS 简单上传文件接口一致,只需在请求包头部增加图片处理参数 Pic-Operations。
示例代码
# 先创建 cos clientexample_object = 'example_object.jpg'with open(example_object, 'rb') as fp:opts = '{"is_pic_info":1,"rules":[{"fileid":"format.jpg","rule":"QRcode/cover/0"}]}'response,data = client.ci_put_object_from_local_file_and_get_qrcode(Bucket='example-bucket-123456789',LocalFilePath=example_object,Key='example_key',EnableMD5=False,PicOperations=opts)# 查看响应信息,可根据需要读指定数据print(response,data)
参数说明
参数名称 | 参数描述 | 类型 | 是否必填 |
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
LocalFilePath | 图片路径 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg | String | 是 |
EnableMD5 | 是否需要 SDK 计算 Content-MD5,默认关闭,打开后将增加上传耗时 | Bool | 否 |
PicOperations | String | 是 |
返回结果说明
response 为响应头,data 为二维码识别结果,数据类型都为 dict。
# response{'Content-Type': 'application/xml','Content-Length': '1094','Connection': 'keep-alive','Date': 'Sat, 00 May 0000 00:00:00 GMT','Etag': '"string"','Server': 'tencent-ci','X-Cos-Hash-Crc64ecma': '00000000000000000','X-Cos-Storage-Class': 'STANDARD','x-cos-request-id': 'request id'}# data{'OriginalInfo': {'Key': 'example_key','Location': 'test-1250000000.cos.ap-chongqing.myqcloud.com/example_key','ETag': '"1cb58f788804beac37769b9eb407c954"','ImageInfo': {'Format': 'PNG','Width': '400','Height': '400','Quality': '100','Ave': '0xe0e0e0','Orientation': '0','FrameCount': '1'}},'ProcessResults': {'Object': {'Key': '1.jpg','Location': 'test-1250000000.cos.ap-chongqing.myqcloud.com/1.jpg','Format': 'png','Width': '400','Height': '400','Size': '594','Quality': '80','FrameCount': '1','ETag': '"e7e22acd8f0cec7abe858748d641d266"','CodeStatus': '1','QRcodeInfo': {'CodeUrl': 'cloud.tencent.com','CodeLocation': {'Point': ['27,371', '27,27', '371,27', '371,371']}}}}}
response 内容
响应体 data
响应体具体数据内容如下:
参数名称 | 参数描述 | 类型 |
OriginalInfo | 原图信息 | Container |
ProcessResults | 图片处理结果 | Container |
OriginalInfo 节点内容:
节点名称 | 参数描述 | 类型 |
Key | 原图文件名 | String |
Location | 图片路径 | String |
Etag | 图片etag信息 | String |
ImageInfo | 原图图片信息 | Container |
ImageInfo 节点内容:
节点名称 | 参数描述 | 类型 |
Format | 格式 | String |
Width | 图片宽度 | String |
Height | 图片高度 | String |
Quality | 图片质量 | String |
Ave | 图片主色调 | String |
Orientation | 图片旋转角度 | String |
FrameCount | 图片的帧数。静态图为1,动图为对应的帧数。 | String |
ProcessResults 节点内容:
节点名称 | 参数描述 | 类型 |
Object | 每一个图片处理结果 | Container |
Object 节点内容:
节点名称 | 参数描述 | 类型 |
Key | 文件名 | String |
Location | 图片路径 | String |
Format | 图片格式 | String |
Width | 图片宽度 | String |
Height | 图片高度 | String |
Size | 图片大小 | String |
Quality | 图片质量 | String |
Etag | 图片etag信息 | String |
FrameCount | 图片的帧数。静态图为1,动图为对应的帧数。 | String |
CodeStatus | 二维码识别结果。0表示未识别到二维码,1表示识别到二维码 | String |
QRcodeInfo | 二维码识别结果,可能有多个 | Container |
QRcodeInfo 节点内容:
节点名称 | 参数描述 | 类型 |
CodeUrl | 二维码的内容。可能识别不出 | String |
CodeLocation | 图中识别到的二维码位置坐标 | Container |
codelocation 节点内容:
节点名称 | 参数描述 | 类型 |
Point | 二维码坐标点 | String |
云上数据识别二维码
功能说明
对云上图片进行二维码识别,返回二维码识别结果。
示例代码
# 先创建 cos clientresponse,data = client.ci_get_object_qrcode(Bucket='example_bucket-123456789',Key='example_object',Cover=0,BarType=0,)# 查看响应信息,可根据需要读指定数据print(response,data)
参数说明
参数名称 | 参数描述 | 类型 | 是否必填 |
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg | String | 是 |
Cover | 二维码覆盖功能。可为0或1。 0表示不开启二维码覆盖 1表示开启二维码覆盖 功能开启后,将对识别出的二维码覆盖上马赛克,默认值0 | Int | 是 |
BarType | 二维码/条形码识别功能,将对识别出的二维码/条形码 覆盖马赛克。取值有0,1,2 。 0表示都识别 1表示识别二维码 2表示识别条形码 默认值0 | Int | 否 |
返回结果说明
response 为响应头,data 为二维码识别结果,数据类型都为 dict。
# response{'Content-Type': 'application/xml','Content-Length': '1094','Connection': 'keep-alive','Date': 'Sat, 00 May 0000 00:00:00 GMT','Etag': '"string"','Server': 'tencent-ci','X-Cos-Hash-Crc64ecma': '00000000000000000','X-Cos-Storage-Class': 'STANDARD','x-cos-request-id': 'request id'}# data{'CodeStatus': '1','QRcodeInfo': {'CodeUrl': 'www.tencent.com','CodeLocation': {'Point': ['23,375', '23,23', '375,23', '375,375']}}}
response 内容
响应体 data
响应体具体数据内容如下:
节点名称(关键字) | 参数描述 | 类型 |
CodeStatus | 二维码识别结果。0表示未识别到二维码,1表示识别到二维码 | String |
QRcodeInfo | 二维码识别结果,可能有多个 | Container |
ResultImage | 处理后的图片 base64数据,请求参数 cover 为1时返回 | String |
QRcodeInfo 节点内容:
节点名称(关键字) | 参数描述 | 类型 |
CodeUrl | 二维码的内容。可能识别不到内容 | String |
CodeLocation | 图中识别到的二维码位置坐标 | Container |
CodeLocation 节点内容:
节点名称(关键字) | 参数描述 | 类型 |
Point | 二维码坐标点(X坐标,Y坐标) | String |