【发布时间】:2019-01-19 01:54:15
【问题描述】:
我的代码看起来像这样
from skimage import io as sio
test_image = imread('/home/username/pat/file.png')
test_image = skimage.transform.resize(test_image, (IMG_HEIGHT, IMG_WIDTH), mode='constant', preserve_range=True)
print test_image.shape # prints (128,128)
print test_image.max(), test_image.min() # prints 65535.0 0.0
sio.imshow(test_image)
更重要的是,我需要让这张图片有 3 个通道,这样我就可以将它输入到一个需要这种输入的神经网络中,知道该怎么做吗?
我想将 1 通道图像转换为 3 通道图像,在绘制时看起来合理、有意义等。如何?
我尝试用 0 填充,我尝试为 3 个通道复制相同的值 3 次,但是当我尝试显示图像时,它看起来像乱码。那么如何将图像转换为 3 个通道,即使它变成蓝色而不是灰度,但仍然能够以有意义的方式将其可视化?
编辑: 如果我尝试
test_image = skimage.color.gray2rgb(test_image)
我得到全白图像,带有一些黑点。
如果我尝试,我会得到相同的全白、罕见的小黑点
convert Test1_PC_1.tif -colorspace sRGB -type truecolor Test1_PC_1_new.tif
在尝试使用 gray2rgb 进行转换之前
print type(test_image[0,0])
<type 'numpy.uint16'>
之后
print type(test_image[0,0,0])
<type 'numpy.float64'>
【问题讨论】:
-
它(可能)是彩色的,因为您没有设置颜色图,默认值在这里有点糟糕。没有人能告诉你如何神奇地为一些未知的 NN 派生颜色,因为大多数用于自然颜色的 NN 将完全失败。
-
你试过
gray2rgb吗? scikit-image.org/docs/dev/api/…
标签: python image numpy image-processing scikit-image