I would like to find the original image from several similar candidates. The images are typically in JPEG format, and the most common modifications are cropping, enlarging/shrinking, adding (or removing) watermarks and text, color adjustments, sharpening, adding borders, etc. Metadata like EXIF, resolution, and file/upload dates are too unreliable.

I'm not sure where to ask this question, because there are several distinct use cases, and different SE communities may be suited for different aspects:

  • I am looking for the most authentic copy, but the actual original may not be in the set of candidates (i.e., they are all modified copies). In this case, a heuristic would be helpful.

  • The images may be local files. In the simplest case, I might have two images with few or no visible differences (apart from the binary data itself). Is there a way to determine if one has been created from the other?

  • The images may be on the web. For example, this TinEye search lists 48 occurrences of an octopus image, but makes no statement about which one is closest to the original photograph. (In this case, it's obvious that the oldest result cannot be the original.)

  • I'm most interested in existing software on Linux or Windows. Should I ask this question in Super User? I've seen that questions like this ("I'm looking for a program that ...") are rarely well received there.

  • If there is no software that can determine a "lineage" of copies for me, I'm not opposed to doing the work myself, but I have little experience with image processing. The discussions in Signal Processing go way over my head; I'm probably going to need a library. Should I just ask a general question on Stack Overflow?

I've done my best to research this topic, both on the web and here, but due to the generic terms and my unfamiliarity with the subject, I'm only getting noise (e.g. "how to detect fake news", "how to search for images on Google").

If you really are unfamiliar with the subject you may be better off finding and reading some books or research papers before asking. That would likely give you sufficient familiarity with terminology and concepts that you'd be able to ask a much better question on any site.

Data Science has an tag. Unfortunately there's no usage guidance for the tag, but this does sound like a problem in the Data Science/Machine Learning realm. Check the help centre to make sure your question is worded in such a way that it's on topic for the site though.

Note that asking for a library on Stack Overflow won't get you anywhere as library request questions are off-topic there.

  • Thanks for the Data Science tip; at first glance it looks just as daunting as Signal Processing, but it's a new lead and I will check it out. As for library requests, is there a community where they are on topic? If not, where do I go for that, apart from going through various language-specific forums separately? – Zilk Dec 5 at 0:47
  • 1
    There's software recommendations but they are reputedly very strict about what you can ask there. I'd be really careful you look at what questions work and don't on that site and go through its help centre carefully too before asking – Robert Longson Dec 5 at 0:49
  • The first paragraph gives good advice (+1). The question might work on CrossValidated but would need to avoid being seen as Too broad (which is why your first para is so important) or Off-topic if seen as a software request – mdewey Dec 5 at 9:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .