Skimage Python: преобразование массива изображений в оттенках серого в плавающее заставляет изображение использовать цве ⇐ Python

Программы на Python
Anonymous
Skimage Python: преобразование массива изображений в оттенках серого в плавающее заставляет изображение использовать цве

Сообщение Anonymous »

При использовании модуля Skimage.io в Python для чтения изображения в оттенках серого он работает как положено. Однако любое действие с массивом numpy, содержащим значения, в результате чего они меняются на плавающие, делает шкалу цветовым градиентом, а не оттенками серого.
Это проблема для меня, так как мне нужно разделить каждую запись массива на 255, что автоматически преобразует каждое значение в число с плавающей запятой.
Я уверен, что есть способ это исправить, но мне больше любопытно, почему это вообще происходит.
Сначала я проверил, не является ли это просто проблемой с разделением значений в целом, но я проверил это, взяв массив и:
-умножив его на единицу, что привело к желаемому изображению в оттенках серого.
-разделение его на единицу, что привело к получению изображения с цветовым градиентом.
Код, который работает как задумано -

Код: Выделить всё

from skimage import io
import numpy as np

a=io.imread("audrey_lnoise.png",as_gray=True)
io.imshow(a)
Вывод — предполагаемое изображение
Измененный код —

Код: Выделить всё

from skimage import io
import numpy as np

a=io.imread("audrey_lnoise.png",as_gray=True)/1 #division by one to turn into float array
io.imshow(a)
Вывод — непредусмотренное изображение

Подробнее здесь: https://stackoverflow.com/questions/790 ... ge-use-col

Вернуться в «Python»