#python #numpy #python-imaging-library #h5py
#python #numpy #python-imaging-library #h5py
Вопрос:
Я хочу конвертировать изображения в папке c:userimg , которые помечены как 1.png, 2.png, …..100.png для сохранения в файле .h5 на python.
Может кто-нибудь подсказать мне аккуратный способ сделать это. Я искал много сообщений, но они очень косвенные, или некоторые используют изображения np.array для хранения в .h5
Спасибо
Комментарии:
1. Я думаю, что могу понять ваше заблуждение. HDF5 по сути хранит матрицы (например, целых чисел, удвоений или чего-то еще). В вашем случае это означает, что вам придется считывать данные из ваших PNGS (например, используя
matplotlib
) в массив NumPy. Затем вы можете легко сохранить это в файле HDF5.2. Если я использую matplotlib: из matplotlib.image import imread img=imread(‘cm.png’), теперь форма img.shape = (158,209,3), где, как и в реальности, это изображение в оттенках серого (65,35) ….. в каком формате я могу сохранить его, чтобы оно было затемнено, как я хочу
3. То, что последнее измерение является
3
, неудивительно. Matplotlib всегда будет считывать RGB-значения. Если вы уверены, что входные данные представлены только в оттенках серого, все три должны быть идентичными, и вы можете просто выбрать один (отбросив два других), например:img = img[:,:,0]
. Разница в других измерениях странная. Вы уверены, что обрабатываете одно и то же изображение? Можете ли вы отредактировать свой запрос в виде минимального рабочего примера?4. Да, я могу использовать изображение в 1 измерении, но вместе с изображением отображается дополнительная область в штучной упаковке, поэтому размер изображения равен 158×209, но фактическое изображение находится внутри этого измерения с размерами dims = 65×35> Я думаю, это связано с моей процедурой сохранения, которая неверна. Спасибо за помощь @TomdeGeus