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

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

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

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

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

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

1 Ответ

0 голосов
/ 23 декабря 2018

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

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

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

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

...