hdf5 добавить в набор данных по ссылке - PullRequest
0 голосов
/ 20 июня 2019

Я читаю некоторые изображения, которые я хочу добавить в набор данных в формате hdf5:

with h5py.File(output_file, 'w') as hf:
    i = 0
    for p,meta in get_images( file_pattern, star_pattern ):
        if i == 0:
            hf.create_dataset(dsname, data=p[np.newaxis,...], maxshape=(None,p.shape[0],p.shape[1]), chunks=True)
        else:
            hf[dsname].resize( (hf[dsname].shape[0]+1), axis=0 )
            hf[dsname][-hf[dsname].shape[0]:] = p.copy()
        print( ".", end='')
        i = i+1

Где p - массив чисел i by j (iage в оттенках серого), а get_images() возвращает Python-генератор изображения и метаданных в кортеже.

поэтому проблема в том, что когда я перечитываю выведенный файл, я вижу, что все изображения на самом деле все идентичны. Я предполагаю, потому что p является ссылкой на массив Numpy, который повторно используется в цикле. Я бы предположил, что p.copy() должен предотвратить это.

что я делаю не так?

...