Кажется, что функция imwrite на imageio (Python) масштабирует данные изображения - PullRequest
0 голосов
/ 04 апреля 2019

Функция imwrite () в imageio (Python), по-видимому, масштабирует данные изображения перед сохранением. Мои данные изображения имеют значения в диапазоне [30, 255], но когда я их сохраняю, они растягивают данные, так что окончательное изображение расширяется от [0, 255], создавая таким образом «дыры» в гистограмме, что увеличивает общую контрастность.

Есть ли какой-нибудь параметр, чтобы исправить это и заставить imwrite () не изменять данные?

Спасибо

Пока я устанавливаю пиксель на 0, чтобы этого не происходило:

prediction[0, 0, 0] = 0

(прогноз - массив [1024, 768, 3], содержащий цветную фотографию)

imageio.imwrite('prediction.png', prediction)

1 Ответ

0 голосов
/ 05 апреля 2019

Исправлена! Я использовал значения uint32 вместо uint8, тогда imwrite (), кажется, выполняет некоторые корректировки масштабирования, потому что ожидает тип uint8. Проблема решается с помощью:

prediction = np.round(prediction*255).astype('uint8')

Вместо преобразования в 32-разрядное целое число, которое я делал в начале:

prediction = np.round(prediction*255).astype(int)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...