我想比較python中的圖像,比如imageA.jpg和imageB.jpg。我做這種方式:通過讀取二進制數據比較Python中的圖像
f = open('./imageA.jpg','rb')
imgA = f.read()
f.close()
f = open('./imageB.jpg','rb')
imgB = f.read()
f.close()
imagesEqual = imgA == imgB
最後一行主要檢查來自兩個圖像文件中讀取二進制數據的字符串相等。 現在,很多stackoverflow問題和谷歌搜索建議使用Python模塊,如ImageChops或OpenCV。我這樣做的方式不正確嗎?如果是這樣,爲什
謝謝!
如果你想確切的文件相等,那很好。如果你想允許一些差異(比如'imageA'中的1個像素比'imageB'中的相同像素輕一點),那麼當然它是沒用的;-) –
即使兩幅圖像完全相同,如果例如某個標題(jfif,exif)不同,它們將不相等。你不比較圖形,你是比較字節。 – Hyperboreus
那麼2張圖片可以擁有相同的exif/jiff頭部數據嗎?如何比較只有圖像數據而不是文件頭部數據的字節? – eknight7