将二进制图像文件转换为numpy数组中的224 * 224图像

时间:2018-03-13 22:39:05

标签: python numpy amazon-s3 amazon-ec2

我正在阅读图像(图像大小不是224 * 224),它是这种类型:

def fetch_from_s3(client, image_s3url):
    bucket, key = image_s3url.split('/',2)[-1].split('/',1)
    result = client.get_object(Bucket=bucket, Key=key)
    return result['Body'].read()
img =fetch_from_s3(client, image_s3url)
#
print(img)
>>
'\xff\xd8\xff\xdb\x00C\x00\....'

我需要的是:将其转换为224 * 224图像,然后转换为numpy数组。

我有一个耗时的方法:

  1. 将其另存为jpg文件
  2. 将jpg转换为224 * 224,然后转换为numpy数组
  3. 删除此jpg文件
  4. 由于我需要处理数百万张图像,因此我希望找到一种方法来跳过第1步和第3步,因为它们会占用大量的额外时间。

    有没有办法将任意二进制图像文件直接转换为代表224 * 224图像的numpy数组?

1 个答案:

答案 0 :(得分:0)

您可以使用scipy.misc.imresizecv2.resize