2024-04-26 03:37:57 发布
网友
我有一张PIL格式的图片。我需要把它转换成字节数组。
img = Image.open(fh, mode='r') roiImg = img.crop(box)
现在我需要roiImg作为字节数组。
roiImg
这是我的解决方案。请使用此功能。
from PIL import Image import io def image_to_byte_array(image:Image): imgByteArr = io.BytesIO() image.save(imgByteArr, format=image.format) imgByteArr = imgByteArr.getvalue() return imgByteArr
我认为您可以简单地调用PIL图像的.tobytes()方法,然后从那里开始,要将其转换为数组,请使用内置的bytes。
.tobytes()
bytes
#assuming image is a flattened, 3-channel numpy array of e.g. 600 x 600 pixels bytesarray = bytes(Image.fromarray(array.reshape((600,600,3))).tobytes())
谢谢大家的帮助。
终于解决了!!
import io img = Image.open(fh, mode='r') roiImg = img.crop(box) imgByteArr = io.BytesIO() roiImg.save(imgByteArr, format='PNG') imgByteArr = imgByteArr.getvalue()
有了这个,我就不必把裁剪后的图像保存在硬盘上了,我就可以从PIL裁剪后的图像中检索字节数组了。
这是我的解决方案。请使用此功能。
我认为您可以简单地调用PIL图像的
.tobytes()
方法,然后从那里开始,要将其转换为数组,请使用内置的bytes
。谢谢大家的帮助。
终于解决了!!
有了这个,我就不必把裁剪后的图像保存在硬盘上了,我就可以从PIL裁剪后的图像中检索字节数组了。
相关问题 更多 >
编程相关推荐