Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'m looking for a program that does a \"diff\" between two JPG images. Requirem

ID: 659326 • Letter: I

Question

I'm looking for a program that does a "diff" between two JPG images.

Requirements:

The diff algorithm used by the app is known.

Ideally, it should be verifiable via code inspection, but that's a nice-to-have, not a requirement.

This excludes things like Beyond Compare.

The diff algorithm (or even better, the specific implementation in this software) has been somehow proven to be reliable in the conditions of requirements below.

"proven" means something like consensus of experts in image processing/computer vision field; peer reviewed publications, published large scale test results, etc...

The algorithm and ideally the implementation needs to be resilient to type 1 and type 2 errors (e.g. it should have a provable and demonstrable low rate of both falsely showing large differences for nearly identical images, AND low rate of showing no differences for different images).

The program should be able to handle images that have been minorly manipulated compared to each other, for example:

Small cropping of edges (say <10%)

Change in image quality (saving with slightly different compression)

Other minor changes (sharpness, contrast).

Desired output should indicate the degree of similarity, either textually (92% similar) or visually (heat map, diff color coded map, etc...)

Explanation / Answer

This answer won't be as good as I usually like (due to lack of knowledge on my part) but I think it should work well for you.

What I would suggest is ImageMagick's Compare function. It is command line only but it outputs an 2 (error), 0 (similar) or 1 (disimilar) as well as image difference map - there are a few different types that it can output - see the docs for all the MANY options. In regards to your requirements:

1: Don't know what Algorithm they are using - but it is Open Source (Apache 2.0)
2: Same as #1
3: sorta the same as #1 but there are also options to control thresholds so you can adjust that somewhat.
4: It can detect when an image is included in another image, it can also detect the differences of sharpening only etc.
5: visually and binary similarity output.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote