如何使用PIL和python-opencv从内存字节码提取图片并转换为np.array?
- 内容介绍
- 文章标签
- 相关推荐
本文共计314个文字,预计阅读时间需要2分钟。
python将RGB格式的图片以字节数据形式读取到内存中,然后使用PIL和CV2进行读写操作,最终转换为np.array格式。
代码如下:
pythonfrom PIL import Imageimport cv2import numpy as npfrom io import BytesIO
假设f_path是图片的路径f_path='/path/to/image.jpg'
读取图片with open(f_path, 'rb') as f: image_data=f.read()
使用PIL读取图片image=Image.open(BytesIO(image_data))
将PIL图片转换为np.arraynp_image=np.array(image)
使用CV2读取图片cv2_image=cv2.imread(f_path)
将CV2图片转换为np.arraycv2_np_image=np.array(cv2_image)
输出结果,验证转换是否成功print(PIL to np.array:)print(np_image.shape)print(CV2 to np.array:)print(cv2_np_image.shape)
请注意,上述代码中的`f_path`需要替换为实际图片的路径。
本文共计314个文字,预计阅读时间需要2分钟。
python将RGB格式的图片以字节数据形式读取到内存中,然后使用PIL和CV2进行读写操作,最终转换为np.array格式。
代码如下:
pythonfrom PIL import Imageimport cv2import numpy as npfrom io import BytesIO
假设f_path是图片的路径f_path='/path/to/image.jpg'
读取图片with open(f_path, 'rb') as f: image_data=f.read()
使用PIL读取图片image=Image.open(BytesIO(image_data))
将PIL图片转换为np.arraynp_image=np.array(image)
使用CV2读取图片cv2_image=cv2.imread(f_path)
将CV2图片转换为np.arraycv2_np_image=np.array(cv2_image)
输出结果,验证转换是否成功print(PIL to np.array:)print(np_image.shape)print(CV2 to np.array:)print(cv2_np_image.shape)
请注意,上述代码中的`f_path`需要替换为实际图片的路径。

