EXIF removal processing #71
-
I use OrientationMode.Normalize before I put images into our image storage. We have a lot of images that I need to process for possible upload. To eliminate duplicates, I use the file size and a generated hash to see if the image I'm about to upload already exists. If the size is the same and the hash is the same, I can skip it. So I need to process each potential image to be uploaded with OrientationMode.Normalize before the compare. Should I expect a file being processed with OrientationMode.Normalize to give the same bitwise results every time? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
You can expect deterministic output provided the MagicScaler version, .NET runtime version and architecture, hardware, and ProcessImageSettings are the same. Any change in those variables may result in bitwise differences due to anything from high-level changes in the MagicScaler heuristics between versions all the way down to floating point math at the hardware level (e.g. FMA vs MUL+ADD). If you need stability across variations of the above, I'd suggest using a structural similarity measurement or some sort of perceptual hash. |
Beta Was this translation helpful? Give feedback.
You can expect deterministic output provided the MagicScaler version, .NET runtime version and architecture, hardware, and ProcessImageSettings are the same. Any change in those variables may result in bitwise differences due to anything from high-level changes in the MagicScaler heuristics between versions all the way down to floating point math at the hardware level (e.g. FMA vs MUL+ADD).
If you need stability across variations of the above, I'd suggest using a structural similarity measurement or some sort of perceptual hash.