У меня есть изображение RGB, которое я хотел сгладить для хранения в одном столбце массива с несколькими такими изображениями в столбцах.Проблема заключается в том, что, когда я сохраняю массив numpy и загружаю его обратно, данные загружаются правильно и имеют правильные значения.Но когда я пытаюсь отобразить изображение, оно отображает очень странно искаженное изображение.Я не понимаю, где проблема.Вот код для хранения и поиска для справки.
npimg = imread(os.path.join(path, filename))
if cnt == 0:
np.savetxt(os.path.join(path_save, 'image_1.txt'), npimg[:, :, 0].reshape((dimensions[0], dimensions[1])), fmt='%d')
np.savetxt(os.path.join(path_save, 'image_2.txt'), npimg[:, :, 1].reshape((dimensions[0], dimensions[1])), fmt='%d')
np.savetxt(os.path.join(path_save, 'image_3.txt'), npimg[:, :, 2].reshape((dimensions[0], dimensions[1])), fmt='%d')
np.savetxt(os.path.join(path_save, 'image_flatten.txt'), npimg.flatten(), fmt='%d')
X[:, cnt] = npimg.flatten()
Приведенный выше код предназначен для индивидуального сохранения данных изображения до и после выравнивания.Обратите внимание, что третье измерение (RGB) сохраняется отдельно для правильной визуализации.
current_row = X[:, 0]
np.savetxt(os.path.join(path, 'reverse_image_flatten.txt'), current_row, fmt='%d')
current_row = np.reshape(current_row, dimensions)
np.savetxt(os.path.join(path, 'reverse_image_1.txt'), current_row[:, :, 0].reshape((dimensions[0], dimensions[1])), fmt='%d')
np.savetxt(os.path.join(path, 'reverse_image_2.txt'), current_row[:, :, 1].reshape((dimensions[0], dimensions[1])), fmt='%d')
np.savetxt(os.path.join(path, 'reverse_image_3.txt'), current_row[:, :, 2].reshape((dimensions[0], dimensions[1])), fmt='%d')
plt.imshow(current_row)
plt.axis('off')
plt.show()
Это для получения тех же данных.Замечено, что данные, хранящиеся в image_1, 2 и 3, такие же, как reverse_iamge_1, 2 и 3. Но когда изображение отображается с использованием imshow, изображение не является правильным.Любая помощь с благодарностью.