我目前有一个包含灰度图像的.h5文件,需要将其转换为.jpg。
有人有此方面的经验吗?
注意:我可以将h5文件转换为numpy数组,然后使用外部库(如pypng)将其转换为png。但是我想知道是否有更有效的方法来转换为图像,最好是.jpg格式。
我目前有一个包含灰度图像的.h5文件,需要将其转换为.jpg。
有人有此方面的经验吗?
注意:我可以将h5文件转换为numpy数组,然后使用外部库(如pypng)将其转换为png。但是我想知道是否有更有效的方法来转换为图像,最好是.jpg格式。
关键要素:
使用h5py读取h5文件。 确定图像格式并使用PIL。
假设图像为RGB格式(https://support.hdfgroup.org/products/java/hdfview/UsersGuide/ug06imageview.html)
假设您的图像位于Photos/Image 1,那么可以执行以下操作。
import h5py
import numpy as np
from PIL import Image
hdf = h5py.File("Sample.h5",'r')
array = hdf["Photos/Image 1"][:]
img = Image.fromarray(array.astype('uint8'), 'RGB')
img.save("yourimage.thumbnail", "JPEG")
img.show()
h5py
将数据集加载为 numpy 数组。不需要那个array(list(...)))
的操作。 - hpaulj