我阅读了我的高光谱(.raw)文件并将三个波段组合到“gai_out_r”然后我输出如下:
writeRaster(gai_out_r,filepath,format="GTiff")
最后我得到了gai_out_r.tif
但是,为什么Win10不能将这个小tif显示为我从envi--save image as--tif输出的图片一样
Win10显示两个tiff如下:
默认的 windows 图像查看应用程序不支持高光谱图像-因为您只是从 .raw 文件中读取和组合 3 个波段,因此生成的图像将是高光谱图像。您需要有单独的专用软件才能查看超立方体或可以查看它也使用spectral-python。
在 sPy 中,使用envi.save_image只会将其保存为 ENVI 类型的文件。要将其保存为 rgb 图像文件(在 windows 操作系统中可读),我们需要使用其他方法。
问题原因:
我遇到了类似的问题,并认识到导出的.tif文件的位深度与我可以打开的.tif图像不同。这些图像无法使用通用应用程序显示,尽管它们没有损坏,我可以在 R 或 QGIS 中打开它们。因此,这些值以 Windows 无法预料的方式编码。
当您键入时,您会发现在使用该功能保存.tif(或其他格式)?writeRaster()
时有多种选择。单击其中的链接进入帮助站点,您会发现有多种整数类型可供选择。raster::writeRaster()
dataType {raster}
解决方案(编写 Windows 可读的 GeoTIFF):
我设置了以下选项以使生成的.tif文件可读(注意datatype
选项):
writeRaster(raster, filename = "/path/to/your/output.tif",
format = "GTiff", datatype = "INT1U")
注意: 我意识到您的帖子是两年半前的...无论如何,这个答案可以帮助遇到这个问题的其他人。
您正在使用writeRaster
写入 GTiff (GeoTiff) 格式文件。要写入标准 tif 文件,您可以使用该tiff
方法。writeRaster
您也可以改为写入PNG
writeRaster(gai_out_r, "gai.png")