Python skimage:将灰度图像数组转为浮点数使图像使用颜色而不是灰度

问题描述 投票:0回答:1

当使用Python中的skimage.io模块读取灰度图像时,它按预期工作。但是,对保存值的 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)

输出 - 意外图像

python numpy matplotlib floating-point scikit-image
1个回答
0
投票

尝试一下

io.imshow(a, cmap='gray', vmin=0, vmax=255)
© www.soinside.com 2019 - 2024. All rights reserved.