У меня есть три этапа: 1. преобразовать изображение в массив numpy 2. сохранить этот массив в текстовом файле 3. преобразовать массив в изображение, прочитав этот текстовый файл
Я попробовал приведенный ниже код, которыйпреобразование изображения в массив и повторное чтение того же массива из текстового файла
from PIL import Image
import numpy
im = Image.open("a.jpg") # img size (480,910,3)
np_im = numpy.array(im)
with open('test.txt', 'w') as outfile:
for slice_2d in np_im:
numpy.savetxt(outfile, slice_2d)
new_data = numpy.loadtxt('test.txt')
new_data=new_data.reshape((480,910,3))
img = Image.fromarray(new_data,'RGB')
img.save('my.bmp')
img.show()
, если я сравниваю массив (до сохранения и после загрузки из файла и изменения формы), массив выглядит точно так же (за исключением точки). ех.
[[[ 48 58 24]
[ 48 58 24]
[ 47 57 23]
...
and
[[[ 48. 58. 24.]
[ 48. 58. 24.]
[ 47. 57. 23.]
...
но изображение, которое я получаю, полностью искажено. почему так?