更改單個像素會影響影像檔案的二進制大小。我很好奇比較兩張照片的二進制大小是否足以檢測到變化!會不會有假陽性結果?該解決方案的可靠性如何?
我比較的影像是“PNG”格式,它們是來自同一來源的快照,因此質量和尺寸相同,但像素可能不同。
我知道像pixelmatchand這樣的庫img-diff-js,但它們對于我的目的來說太慢了,而且我不需要大量的差異結果;只是真/假就足夠了。
uj5u.com熱心網友回復:
假設 PNG 檔案由同一系統獲取和壓縮,大多數檔案將具有大致相同的大小。一個小的變化可能會導致包含的影像長或短一個位元組,但會有很多不同的影像具有完全相同的檔案大小。
但是要找到相同的影像,您不需要解壓縮 PNG 檔案,相同影像的壓縮資料將相同,不同影像的壓縮資料不同。也只是逐位元組比較檔案會告訴您它們是否包含相同的影像。
然而,這僅適用于相同的影像。如果我們談論的是產生影像流的相機,并且您想知道場景中的某些內容是否發生了變化,那么您仍然需要比較解壓縮的影像。這是因為資料中會含有噪音,噪音會導致壓縮后的檔案不一樣。并且您無法從壓縮檔案中判斷更改是由于噪音還是更重要的更改引起的。在這種情況下,您將不得不解壓縮影像,并將它們與一些容差進行比較。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/361755.html
標籤:javascript 图像处理 比较 像素 二进制数据
