如何将 Base64DataURL 转换为 base64 编码的图像字节
How to convert Base64DataURL to base64-encoded image bytes
我正在调用 js canvas.toDataURL();从那里将它发送到我的服务器 我想用 boto3client 发送它。('rekognition',...,...)假设我有变量中的数据,我如何更改 python 中的甲酸盐.
#image is a 10 by 10 red square can be displayed with adding data as src of a HTML image tag
data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGElEQVQYV2P8z8AARIQB46hCfIFE/eABAGX8E/e8eQLYAAAAAElFTkSuQmCC"
client = boto3.client('rekognition',
aws_access_key_id= access_key_id,
aws_secret_access_key = secret_access_key_id)
response = client.detect_labels(Image = { 'Bytes': data }, MaxLabels = 10)
botocore.errorfactory.InvalidImageFormatException: An error occurred (InvalidImageFormatException) when calling the DetectLabels operation: Request has invalid image format
这似乎与 AWS Rekognition detect label Invalid image encoding error 有关,但也有点老套
示例输入:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGElEQVQYV2P8z8AARIQB46hCfIFE/eABAGX8E/e8eQLYAAAAAElFTkSuQmCC"
示例输出:
b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x03\x02\x02\x03\x02\x02\x03\x03\x03\x03\x04\x03\x03\x04\x05\x08\x05\x05\x04\x04\x05\n\x07\x07\x06\x08\x0c\n\x0c\x0c\x0b\n\x0b\x0b\r\x0e\x12\x10\r\x0e\x11\x0e\x0b\x0b\x10\x16\x10\x11\x13\x14\x15\x15\x15\x0c\x0f\x17\x18\x16\x14\x18\x12\x14\x15\x14\xff\xdb\x00C\x01\x03\x04\x04\x05\x04\x05\t\x05\x05\t\x14\r\x0b\r\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14...'
from datauri import DataURI
tosend = DataURI(data)
tosend = tosend.data
client = boto3.client('rekognition',
aws_access_key_id= access_key_id,
aws_secret_access_key = secret_access_key_id)
response = client.detect_labels(Image = { 'Bytes': tosend }, MaxLabels = 10)
我正在调用 js canvas.toDataURL();从那里将它发送到我的服务器 我想用 boto3client 发送它。('rekognition',...,...)假设我有变量中的数据,我如何更改 python 中的甲酸盐.
#image is a 10 by 10 red square can be displayed with adding data as src of a HTML image tag
data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGElEQVQYV2P8z8AARIQB46hCfIFE/eABAGX8E/e8eQLYAAAAAElFTkSuQmCC"
client = boto3.client('rekognition',
aws_access_key_id= access_key_id,
aws_secret_access_key = secret_access_key_id)
response = client.detect_labels(Image = { 'Bytes': data }, MaxLabels = 10)
botocore.errorfactory.InvalidImageFormatException: An error occurred (InvalidImageFormatException) when calling the DetectLabels operation: Request has invalid image format
这似乎与 AWS Rekognition detect label Invalid image encoding error 有关,但也有点老套
示例输入:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGElEQVQYV2P8z8AARIQB46hCfIFE/eABAGX8E/e8eQLYAAAAAElFTkSuQmCC"
示例输出:
b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x03\x02\x02\x03\x02\x02\x03\x03\x03\x03\x04\x03\x03\x04\x05\x08\x05\x05\x04\x04\x05\n\x07\x07\x06\x08\x0c\n\x0c\x0c\x0b\n\x0b\x0b\r\x0e\x12\x10\r\x0e\x11\x0e\x0b\x0b\x10\x16\x10\x11\x13\x14\x15\x15\x15\x0c\x0f\x17\x18\x16\x14\x18\x12\x14\x15\x14\xff\xdb\x00C\x01\x03\x04\x04\x05\x04\x05\t\x05\x05\t\x14\r\x0b\r\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14...'
from datauri import DataURI
tosend = DataURI(data)
tosend = tosend.data
client = boto3.client('rekognition',
aws_access_key_id= access_key_id,
aws_secret_access_key = secret_access_key_id)
response = client.detect_labels(Image = { 'Bytes': tosend }, MaxLabels = 10)