Импортируйте изображение как пиксели RGB типа «imageio.core.util.Image» в Python - PullRequest
0 голосов
/ 22 февраля 2019

Я хочу импортировать некоторые изображения с разделенными значениями RGB. Для некоторых изображений это работает, а для некоторых других вывод дает только одно значение для RGB пикселя.

Вот изображение, для которого работает код:

if os.path.isfile(location1):  
    image = imageio.imread(location1)
print("Type : ", type(image[0][0]))
## Type : imageio.core.util.Image
input : image
output: Image([[[167, 126,  94],
        [210, 184, 147],
        [245, 234, 188],
        ...,

А это изображение, для которого код не работает.

if os.path.isfile(location2):  
    image = imageio.imread(location2)
print("TYpe : ", type(image[0][0]))
## TYpe : <class 'numpy.uint8'>
input: image
output: Image([[81, 78, 74, ..., 72, 71, 69],
      [74, 71, 67, ..., 70, 70, 68],
      [61, 58, 55, ..., 65, 65, 64],
   ...,

(я быпризнателен за любую помощь)

1 Ответ

0 голосов
/ 22 февраля 2019

Похоже, что второе загруженное вами изображение - это просто изображение в градациях серого (т.е. не цветное изображение, а только уровни серого).Чтобы преобразовать его в RGB, попробуйте следующее:

from skimage import color
img = color.gray2rgb(your_image)

Кроме того, поскольку преобразование в RGB просто повторяет каждое значение серого три раза, вы можете использовать этот фрагмент

import numpy as np
rgb = np.stack((your_image, your_image, your_image), axis=-1)
...