Я пытаюсь прочитать BMP RGBA, используя python PIL, и это не похоже на работу.Следующий фрагмент кода показывает, что функция tenorflow bmp_decode успешно справляется с этой задачей, а PIL - нет:
def read_image_tf(filename):
image_file = tf.read_file(filename, name='read_file')
decoded_bmp = tf.io.decode_bmp(bmp_image)
return decoded_bmp
def read_img_pil(filename):
img = np.asarray(Image.open(fh))
return img
img = K.eval(read_image_tf(<FILENAME>))
print (img.shape)
img = read_img_pil(<FILENAME>)
print (img.shape)
Вывод:
(3892, 3892, 4)
(3892, 3892, 3)
При попытке запустить imgobj.convert('RGBA')
в Image.open(fh)
Я просто получаю матрицу, которая содержит только значение 255 (100% прозрачность, которая не является правильным альфа-значением на пиксель).
Есть ли ошибка в PIL?Есть ли альтернатива чтению RGBA с использованием python?