【发布时间】:2019-04-28 02:43:51
【问题描述】:
我有一个 PlanetScope 的 RGBN 波段 .tif 卫星图像,我想为神经网络进行预处理。当我在 QGIS 中查看图像时,我得到了一个漂亮的 RGB 图像,但是当作为一个 numpy 数组导入时,图像非常轻。图片上的一些信息:
Type of the image : <class 'numpy.ndarray'>
Shape of the image : (7327, 7327, 5)
Image Height 7327
Image Width 7327
Image Shape (7327, 7327, 5)
Dimension of Image 3
Image size 268424645
Maximum RGB value in this image 65535
Minimum RGB value in this image 1
图片为uint16类型。最后一个波段 (pic[:,:,5]) 在所有情况下都只显示一个奇异值 (65535)。因此,我认为应该去掉这个波段,留下RGBN波段,其信息如下:
Type of the image : <class 'numpy.ndarray'>
Shape of the image : (7327, 7327, 4)
Image Height 7327
Image Width 7327
Image Shape (7327, 7327, 4)
Dimension of Image 3
Image size 214739716
Maximum RGB value in this image 19382
Minimum RGB value in this image 1
知道 uint16 图像的范围是 0-65535,RGBN 图像的最大值 (19382) 似乎相当低。随后,函数 'skimage.io.imshow(image)' 显示近乎白色的图像。我不明白为什么 QGIS 能够以真彩色正确显示图像,而 python 却不能。
图片通过pic = skimage.io.imread("planetscope_20180502_43.tif")加载
我尝试使用img_scaled = pic / pic.max() 缩放图像并将其转换为uint8,然后使用img_as_ubyte(pic) 查看图像,但没有成功。我用skimage.io.imshow(pic)查看图像。
如有需要,可以下载图片here。我合并了图像,因为不知何故似乎无法使用某些包导入图像(例如 Tifffile 不适用于此 tif 文件)。
【问题讨论】:
-
请提供一些用于加载图像的最小代码。另外——当你在编辑它时——一次只有一个问题。 (我建议删除“Furthermore .... 非常广泛的讨论”部分,但适合自己。)
-
感谢您的回复,我已经编辑了原始问题!如果缺少更多信息,请告诉我。
-
请edit您的问题标题更能说明问题的内容——您的问题可能会吸引更多访问者。 “图像处理”非常通用,也是您的标签之一的名称。试着想出一个不重复标签信息的标题。
-
标题已编辑,我会在以后的帖子中记住您的建议。
标签: image-processing neural-network python-imaging-library rgb image-scaling