Python: считывание изображения float32 в массив numy

У меня есть несколько изображений GeoTiff, которые я считаю изображениями с плавающей точкой32, и я хочу прочитать их, используя python.

Что я пробовал:

def load_save_test(filename):
    import numpy as np
    import Image
    from shutil import copyfile

    copyfile(filename, "tile.tif")

    arr= np.asarray(Image.open(filename))
    print 'np.count_nonzero(arr)', np.count_nonzero(arr)
    img = Image.fromarray(arr)
    img.save('tile_pil.tiff')

Но после того, как я открою tile.tif а также tile_pil.tif через ImageJ (которые поддерживают изображения float32) я вижу некоторую разницу.

Также я проверил количество ненулевых после загрузки: np.count_nonzero(arr) 3

Так что может быть причиной этой проблемы?

введите описание изображения здесь

Исходное изображение: https://dl.dropboxusercontent.com/u/8841028/temp/tile.tif

0 ответов

Другие вопросы по тегам