栅格差异:如何检查图像是否具有相同的值?
是否可以检查给定的2个栅格图层是否具有相同的内容? 我们的公司共享存储量有一个问题:它太大了,需要三天以上的时间才能进行完整备份。初步调查显示,占用空间最大的罪魁祸首之一是应使用CCITT压缩将开/关栅格真正存储为1位图层。 该示例图像当前为2位(因此有3个可能的值),并保存为文件系统中11 MB的LZW压缩tiff。转换为1bit(所以有2个可能的值)并应用CCITT Group 4压缩后,我们将其压缩到1.3 MB,几乎节省了一个完整的数量级。 (这实际上是一个表现良好的公民,还有其他人存储为32位浮点数!) 这真是个好消息!但是,也有将近7,000张图像可以应用。编写脚本来压缩它们将很简单: for old_img in [list of images]: convert_to_1bit_and_compress(old_img) remove(old_img) replace_with_new(old_img, new_img) ...但是它缺少一项至关重要的测试:新压缩的版本内容相同吗? if raster_diff(old_img, new_img) == "Identical": remove(old_img) rename(new_img, old_img) 有没有一种工具或方法可以自动(取消)证明Image-A的内容与Image-B的内容具有相同的价值? 我可以使用ArcGIS 10.2和QGIS,但是除了可以避免手动检查所有这些图像以确保覆盖之前的正确性之外,其他所有功能都可以使用。错误地转换和覆盖确实具有超过开/关值的图像将是可怕的。其中大多数会花费数千美元来收集和生成。 更新:最大的违规者是32位浮点数,每边最大可达100,000px,因此约30GB未压缩。