将图像导入为 "imageio.core.util.Image" 类型的 RGB 像素 Python
Import image as RGB pixels of "imageio.core.util.Image" type in Python
我想导入一些具有拆分 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],
...,
(如有任何帮助,我将不胜感激)
您加载的第二张图片似乎只是一张灰度图片(即没有颜色的图片,只有灰度级别的图片)。要将其转换为 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)
我想导入一些具有拆分 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],
...,
(如有任何帮助,我将不胜感激)
您加载的第二张图片似乎只是一张灰度图片(即没有颜色的图片,只有灰度级别的图片)。要将其转换为 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)