
最近我愚蠢地刪除了一些不該刪除的照片。我用了一個程式為了恢復照片,其中一些照片的狀態已損壞,如下所示,帶有灰色區域。
知道如何解決這個問題嗎?這些資訊顯然以某種形式存在,因為當我使用 Windows 照片檢視器查看照片時,在 Windows 生成預覽時,完整的圖像會短暫顯示幾分之一秒。
答案1
一些大圖像包含較小的縮圖,它是整個圖像的低解析度版本。
某些程式(例如 Windows 資源管理器)在圖示檢視中顯示影像時會使用此較小的影像內影像。否則,要顯示圖像的圖示將需要讀取整個圖像並將其轉換為圖示大小,這會嚴重減慢資料夾的顯示速度。
我猜測 Windows 照片檢視器在讀取較大影像時以使用者友好的方式顯示此縮圖。然而,較大的影像已損壞,只有縮圖完好無損。
Recuva 是一個很好的照片恢復程序,所以我猜損壞是由於您覆蓋了圖像的該部分而造成的。您永遠不應該將資料寫入您想要恢復的磁碟區。
但是,如果該磁碟區仍然相當完整,您也可以嘗試另一個非常好的檔案復原產品:
PC INSPECTOR 文件恢復
但請記住將恢復的圖像複製到其他卷,否則在恢復一個圖像時您可能會破壞另一個圖像。
若要修復損壞的 JPEG 影像,請參閱此線程:損壞的 jpeg,已提取縮圖...。
它推薦了相當多的此類工具,以及縮圖提取工具。
Exif工具看起來特別好。
答案2
揭露:幾年前,有人問我是否可以修復這樣的文件,我決定進行調查。因此,我能夠弄清楚如何修復該文件,這最終導致我編寫了一些(非免費)工具,我將在這篇文章中提到這些工具。只要有可能,我都會指出免費的替代方案。
免責聲明:對於 JPEG,涉及大量數學運算。我不是這方面受過訓練或受過教育的專家,我解釋的很多內容都是透過修補和尋找「有效的方法」而發現的。因此,不要指望所有這些資訊在科學上都是正確的。
這取決於。如果我們看到這樣的圖像,則有 3 件事可能是錯的:
- 僅恢復或存在部分文件(如果未透過某些工具恢復)。若要確定是否屬於這種情況,請將檔案大小與使用相同相機和設定拍攝的類似檔案進行比較。
- 如果檔案大小合適,則檔案的一部分可能不包含正確的資料。使用十六進位編輯器(例如 HxD,免費)最容易檢查這一點。通常您會發現檔案的大部分都填入了零或一些重複的位元組模式(FF FF FF FF 等)。
- 如果檢查了先前的問題,檔案大小良好,整個檔案的熵資料很高,那麼即使編碼和壓縮影像資料中的輕微損壞也可能會擾亂解碼器(內置於影像檢視器中)。
由於場景 3 是唯一有可能修復的情況,因此讓我們深入研究它。有一些特定的位元組組合對 JPEG 解碼器有意義: FF xx 被 JPEG 解碼器解釋為所謂的 JPEG 標記(看.)。這些標記用於將 JPEG 分成具有不同用途的「部分」。如果解碼器在實際影像資料中遇到無效的 FF xx 位元組對(不是 FF Dn(其中 n = 0 到 7)也不是 FF 00),則大多數解碼器將直接停止解碼。這可能是單一「位元翻轉」的結果,其中 FE 變為 FF。由於部分圖像資料未解碼,這將表現為灰色區塊。刪除有問題的位元組對只是解決方案的一部分,因為我們不知道原始值,但我已經能夠僅使用十六進位編輯器和圖像檢視器來修復圖像。使用影像探聽很容易確定此類有問題的位元組組合的位元組位址。然而,由於 JPEG 編碼/解碼的方式,此問題會影響後續的所有影像資料(簡單地說,亮度和色度資料儲存為增量,例如相對於前一個區塊的差異)。要修復損壞,您可能需要使用特殊的編輯器(在這個 YouTube 影片我使用自己的和免費的編輯器來查看是否以及如何修復部分灰色的 JPEG。只有在極少數情況下,您可能足夠幸運,只需用零覆蓋有問題的位元組即可獲得令人滿意的結果:
對於場景2,沒有解決方案。場景/問題1可能是由於錯誤恢復導致的:
檔案系統感知恢復工具:簡單地說,此類工具依賴於尋找檔案系統資料片段來定位遺失的資料。如果我們假設一些基於FAT 的檔案系統(因為這些檔案系統在數位相機中使用的記憶卡上占主導地位),則該工具會定位目錄條目,從中可以解碼檔案名稱、檔案大小、檔案屬性和第一個簇。然後它檢查文件分配表以獲取其餘的簇,最後重新組裝文件。如果 FAT 鏈因某種原因而損壞/不完整,則只能重新組裝檔案的一部分。這種類型的損壞在基於 FAT 的檔案系統(FAT、FAT32 以及某種程度上的 exFAT)中並不罕見。使用所謂的雕刻機通常仍然可以進行恢復,但這些會帶來一系列獨特的問題。
另一類檔案復原工具稱為「carvers」。它們不依賴檔案系統,而是掃描磁碟機中是否存在可能表示存在某種檔案類型的「魔術位元組」。如果我們假設 JPEG,我們可以在簇或磁區邊界掃描磁碟機中的 FF D8 FF,因為 JPEG 始終以該特定位元組組合開頭。現在我們知道文件從哪裡開始。
此方法的問題:許多工具都非常簡單,如果遇到 FF D9(JPEG「影像標記結束」),或遇到一些可能指示下一個檔案開始的魔術字節,就會假設它們到達了 JPEG 的結尾。許多所謂的掃描器掃描多種文件類型,並且純粹偶然可能會遇到與某些其他文件類型匹配的位元組組合。例如,49 44 33 是完全有效的 JPEG 數據,但也恰好是 MP3 檔案的魔術位元組。現在最簡單的方法是得出結論,我們已到達檔案末尾並開始恢復 MP3 檔案。第二個問題是文件碎片,在到達文件末尾之前,為下一個 JPEG 找到了有效的位元組組合。許多雕刻師會關閉他們正在恢復的 JPEG 並開始處理下一張。儘管存在一些工具可以讓您手動嘗試重新組裝此類文件,甚至可以嘗試自行解決問題,但對此沒有簡單的解決方案。