我需要在python中加载与colormap一起存储的单通道png文件。它们包含标签索引,因此重新缩放它们对我来说是不合适的。
我刚注意到,由于某些奇怪的原因,scipy.misc.imread
和cv2.imread
在加载图像时会重新缩放图像。我怎么能压制它?
修改:
我只是在另一个没有任何色彩映射的单个通道png上尝试了相同的操作。它没有重新缩放的问题。所以色彩图似乎是问题所在。
答案 0 :(得分:1)
不要使用scipy.misc.imread
(这只是Pillow的[已弃用]前端),而是直接使用Pillow。当索引Image
对象被赋予np.array()
时,会创建索引数组。
In [101]: from PIL import Image
In [102]: img = Image.open('WWpd3.png')
In [103]: a = np.array(img)
In [104]: a.shape, a.dtype
Out[104]: ((160, 320), dtype('uint8'))
In [105]: a.min(), a.max()
Out[105]: (0, 19)
In [106]: a[:3, :8]
Out[106]:
array([[19, 19, 19, 19, 19, 19, 19, 19],
[19, 10, 10, 5, 5, 10, 10, 10],
[19, 10, 10, 5, 5, 10, 10, 10]], dtype=uint8)