Функция Imread, создающая только зернистое шумовое изображение для некоторых изображений. Оттенки серого

io.imread не может правильно прочитать файл изображения jpg в градациях серого. Создает изображение только серого шума.

Получите эту ошибку: "Низкий диапазон данных изображения; отображение изображения с растянутой контрастностью".

У меня есть стопка из 20 практически идентичных изображений с одинаковыми размерами, 1024 x 1280. Некоторые отображаются нормально, а некоторые просто как серый шум. Я попробовал несколько плагинов для чтения и получил тот же результат.

image = io.imread('Image_00019.jpg')  
plt.imshow(image, cmap='gray')

Ожидается: изображение отображается нормально.
Фактически: отображаемое изображение - просто серый шум.

1 ответ

Похоже, это связано с автоматическим масштабированием карты цветов. И, очевидно, решение заключается в том, чтобы установить параметры vmin и vmax в масштабе исходного изображения, а не в масштабе массива, считываемого с помощью imread, используемого по умолчанию.

Прискорбно, что функция imread не может определить истинный масштаб из исходного файла изображения и автоматически передавать эту информацию в imsho w. Но я полагаю, что это какая-то посторонняя дополнительная информация, поскольку imread просто строго захватывает массив пикселей. Разве это не будет частой причиной искажений при отображении изображения?

Если у кого-то есть дополнительные комментарии, не стесняйтесь добавлять.

проблемы низкоконтрастного изображения (растяжение контраста) в matplotlib

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