我有一个块blob,这是一个png图像。当我将blob转换为字节并尝试创建一个映像时,我得到的数据不够。我对python和图像分析很陌生。问题是,如果图像分别为2024*1512,则blob的大小为1714562,宽度和高度。下面是我检索图像的代码:
#Get Required image
def findImage(containerName, imageName):
return block_blob_service.get_blob_to_bytes(
containerName,
input_folder + '/' + imageName,
max_connections=1).content;
我必须做一件如下所述的事情来创建一个图像:
np.array(imageToProcess).reshape(imageSize)
或
PIL.Image.frombytes('L', imageSize, np.byte(imageToProcess), 'raw', 'L', 0, 1)
我试图使blob流或路径仍然有相同的问题。这个Blob需要被重塑到实际的图像大小,并传递到另一个处理函数。如果有人帮助我解决问题和可能的解决方案,我将不胜感激。
发布于 2017-07-25 10:17:54
从Azure下载的PNG文件是png格式的二进制字节字符串,需要使用OpenCV & numpy或PIL.Image
对象将其转换为Numpy数组。
下面是使用OpenCV & numpy或PIL.Image
的示例代码。
PIL.Image
和StringIO
从PIl导入图像从StringIO导入StringIO数据= findImage(containerName,imageName)打印类型(数据)# img =Image.open(StringIO(数据))打印类型# PIL.PngImagePlugin.PngImageFile‘>希望能帮上忙。
https://stackoverflow.com/questions/45276455
复制相似问题