Add new comment

ImageMagick signatures are different when using 0.20.2 vs 0.21.1

I'm trying to do duplicate detection in my photo library and I was experimenting with using ImageMagick's identify -verbose tool to get a signature (SHA256 hash) of the pixel data.

A problem arose when I ran it on my Mac, which used the Homebrew distribution of LibRaw (the latest; 0.21.1) but I was getting mismatches on my Ubuntu 22.04 machine (which gets 0.20.2 of LibRaw). Once I built 0.21.1 on the Linux machine, the signatures were identical as expected, so I don't think it's an ImageMagick issue.

I'm posting here because I want to understand if I was wrong in expecting LibRaw to produce stable output in terms of the raw pixel data; i.e., the same file will yield the same pixel data regardless of which version of LibRaw you use. (If I'm using the wrong term when I say "raw pixel data", please educate me. :) )

If the answer is "sorry, the pixels you get are subject to change according to how our raw processing logic evolves" that's fine -- but I would be curious to know if there's a way to get something that is entirely stable out of LibRaw so I can compute a hash from that instead. To be clear, I don't need to do any image processing -- I just want to know if the image data is identical even if metadata got changed, like the capture time or something.