Python 具有一个颜色定义值的 skimage 图像
Python skimage image with one value for color definition
我刚开始使用 skimage
,我在 python.3.6 中使用它和 skimage-version: 0.17.2
我开始使用示例表单:https://scikit-image.org/docs/stable/user_guide/numpy_images.html
在那里我发现了一些我不明白的东西。此图像的颜色仅由 numpy 数组中的一个值定义。怎么可能?是否使用 RBG 或类似的东西?
我的代码如下所示:
from skimage import data
camera = data.camera()
print(camera.shape)
print(camera[0,0])
输出为:
(10, 100)
0.0
让我发疯的是 0.0
在这个例子中白色不应该是 [0,0,0]
吗?
当我显示图像时,我得到以下结果:
有人可以帮我吗?
颜色由单个值定义,因为它不是 RGB,而是灰度。所以图像的形状是(512, 512)
,而不是(512, 512, 3)
。因此,如果您选择一个 white 点,它将是 [255]
而不是 [255, 255, 255]
.
如果您因为图片不是黑白而感到困惑,那只是因为 matplotlib
的默认颜色图是绿色和黄色。这不会改变像素值,它本质上只是一个“主题”或相机过滤器。如果将颜色图更改为灰色,您将得到:
import matplotlib.pyplot as plt
plt.imshow(255 - camera, cmap='Greys')
plt.show()
如果您不指定颜色图,即使是随机的像素阵列也会呈现淡黄色:
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(figsize=(4, 4))
plt.imshow(np.random.randint(0, 256, (512, 512)))
plt.show()
不过,有一件事我不明白。图片好像倒过来了我必须从 255 中减去像素值才能获得普通相机图片。
我刚开始使用 skimage
,我在 python.3.6 中使用它和 skimage-version: 0.17.2
我开始使用示例表单:https://scikit-image.org/docs/stable/user_guide/numpy_images.html
在那里我发现了一些我不明白的东西。此图像的颜色仅由 numpy 数组中的一个值定义。怎么可能?是否使用 RBG 或类似的东西?
我的代码如下所示:
from skimage import data
camera = data.camera()
print(camera.shape)
print(camera[0,0])
输出为:
(10, 100)
0.0
让我发疯的是 0.0
在这个例子中白色不应该是 [0,0,0]
吗?
当我显示图像时,我得到以下结果:
有人可以帮我吗?
颜色由单个值定义,因为它不是 RGB,而是灰度。所以图像的形状是(512, 512)
,而不是(512, 512, 3)
。因此,如果您选择一个 white 点,它将是 [255]
而不是 [255, 255, 255]
.
如果您因为图片不是黑白而感到困惑,那只是因为 matplotlib
的默认颜色图是绿色和黄色。这不会改变像素值,它本质上只是一个“主题”或相机过滤器。如果将颜色图更改为灰色,您将得到:
import matplotlib.pyplot as plt
plt.imshow(255 - camera, cmap='Greys')
plt.show()
如果您不指定颜色图,即使是随机的像素阵列也会呈现淡黄色:
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(figsize=(4, 4))
plt.imshow(np.random.randint(0, 256, (512, 512)))
plt.show()
不过,有一件事我不明白。图片好像倒过来了我必须从 255 中减去像素值才能获得普通相机图片。