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