在Python中将图像导入为“ imageio.core.util.Image”类型的RGB像素

时间:2019-02-22 00:14:55

标签: python image imread python-imageio

我想导入一些具有分割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 :(得分:1)

您似乎加载的第二张图像只是一个灰度图像(即不是彩色图像,而只是灰度图像)。要将其转换为RGB,请尝试以下操作:

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

此外,由于向RGB的转换只是将每个灰度值重复三次,因此您可以使用this snippet

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