如何判断恢复文件的完整性,特别是恢复图像的像素数据是否损坏

如何判断恢复文件的完整性,特别是恢复图像的像素数据是否损坏

我从磁盘中删除一个文件,然后在同一磁盘上执行一些写入操作,然后运行恢复程序来恢复该文件。

有什么方法可以检查文件的完整性吗?

让恢复的文件为位图图像。据我了解,由于存储图像像素数据的数据块可能会被覆盖,因此图像的某些像素可能具有错误的信息。如果文件头数据损坏,文件将无法打开。

但是,如果不单独目视检查每个像素,如何判断像素数据是否已损坏?检查文本或视频文件完整性的想法相同。

答案1

某些文件系统具有带校验和的元数据块。如果运气好的话,这些可能仍然完好无损,但通常情况下,元数据会消失,因此您所拥有的只是文件本身检测错误的内在能力。

首先,图像是比较大的文件,被删除的没有残留元数据的碎片文件基本上只能通过运气/尝试和错误再次以相同的顺序重新排列。幸运的是,当您编写图像时,通常会以一种非常完整的方式发生。

但是,如果它以不碎片的方式发生,那么只有对现有图像数据中间的碎片写入才会导致损坏,正如您所描述的,并且它不会是“几个像素”,而是例如 4 kB图像数据块。您很少存储未压缩的图像,所以说实话,您的“失败模式”并不那么现实。

现在,我们确实看到了损坏的文件,尤其是相机等 SD 卡上的文件。但这些是不同的故障模式,并且实际上只影响图像的较小部分,或者缩短它。

但是,如果不单独目视检查每个像素,如何判断像素数据是否已损坏?

教授一种算法来为您进行目视检查。或者使用带有校验和的文件格式。我敢打赌一些医学图像格式是有意义的。

另外,再次强调,单个像素不会被损坏,4 kB 块只会完全随机损坏。

但没有人将文件格式设计为“删除后可恢复”;这是无稽之谈,如果你需要的话,你实际上需要停止删除没有备份的东西——现代文件系统和存储子系统的快照使得备份变得微不足道,而且空间也不是很大。

检查文本或视频文件完整性的想法相同。

如前所述,如果唯一可以评估数据内容的人是人类,那么就是这样。对于典型的摄影内容,例如通过深度/卷积神经网络的认知视觉可能是检测例如由JPEG解码器解码的4kB“不合适”数据的适当方法。

相关内容