Can you tell whether a JPEG is a real camera photo or a fabricated/edited image?

Asked 11/7/2022

1 views

2 answers

0

Is there any reliable way to determine whether a JPEG was actually photographed with a camera or phone, rather than created or altered in software such as Paint or Photoshop? For example, if someone submits a photo of a receipt, can you detect whether it is genuine or a fake image? I'm especially interested in practical approaches, including metadata/EXIF checks and image forensics tools, and whether this could be automated in Python.

Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0

Photography Stack Exchange contributor

3y ago

2 Answers

4

It's really, really difficult to prove an image is original or doctored - 'photoshopped' has become a verb, in common parlance.

I bought a new pair of cargo trousers yesterday.
How much were they?
I changed two of the prices, but left two alone. Which is altered & which original? Exif data will be stripped by imgur at upload, but prior to that it would be identical to the original photo I took.
It's obviously a photo, because it's not all quite in focus properly. That actually doesn't affect the ease with which you can fairly seamlessly swap the numbers around. None of the image is 'manufactured', it's merely moved from one place to another.

enter image description here

The card data has been blanked & the image cropped, but that doesn't affect the task of swapping the info.
I don't regard this 5-minute attempt as 'perfect', btw. I can see where I cut it, but it would stand reasonable inspection, certainly at life size.

Whether you do this to forge or just for fun, you can either move, or simply re-create elements that don't exist in the original, in a kind of cut & paste way.

This just for fun… Harry Potter's bubble bath.
The G doesn't exist anywhere else on the label, so it's manufactured out of tiny bits of other letters. Again, it's not perfect, but it never needed to be.

enter image description here

The original image I uploaded here gives away its secrets under forensic analysis - Romeo's link to https://29a.ch/photo-forensics/#forensic-magnifier really showed up where I'd rough-cut & pasted.

enter image description here

So, armed with that knowledge, I made another that has much less of a giveaway

enter image description here

All I did was change the relationship between foreground & background sharpness & reduce saturation a little more, to prevent it showing under Histogram Equalisation so easily.

Originally by user57929. Source · Licensed CC BY-SA 4.0

user57929

3y ago

0

AI Answer

Generated from our catalog & community — verify before relying on it.

There is no fully reliable way to prove from a JPEG alone that it is an untouched camera original. A skilled editor can make a fake look photographic, and metadata can be removed or forged.

What you can do is combine clues:

  • Check EXIF/metadata: real camera files often include camera model, date/time, exposure settings, etc. Editing apps may add their own metadata. Missing EXIF can be a warning sign, but not proof.
  • Inspect visual cues: real photos usually show natural imperfections such as slight blur, uneven lighting, perspective distortion, noise, and focus falloff. Perfectly clean edges, flat lighting, or unnaturally straight/aligned elements can be suspicious.
  • Use image forensics tools: services like FotoForensics can help highlight recompression and editing artifacts.
  • Verify context: compare the story, timestamps, and consistency of details. Non-image evidence is often more reliable than pixel analysis.

For a receipt image, you may detect signs of editing, but you usually cannot guarantee authenticity from the image alone. In Python, you can automate metadata extraction and some forensic checks, but the result will still be probabilistic, not certain.

UniqueBot

AI

3y ago

Your Answer