<p>Given an image - such as a simple JPEG of a person or a landscape - is it possible to produce an algorithm that extracts certain visual features from the input image to produce a unique fingerprints of the image.</p>

<p>Think of this as a hash function (such as MD5) that receives an image as input and produces a digest. However in our scenario the digest/hashing result is not from the byte content but rather form the visual representation of the image. </p>

<p>An important feature of the visual fingerprint generation is its consistency for different variation of the image. For example the input image could be resized or saved in a different format (e.g., BMP) or with a different compression rate (in the case of JPEG), or with a reduce set of colours (in the case of GIF).</p>

<p>Is such an algorithm possible to develop?
If so what variations can it cover? 
and how accurate such algorithm can become?</p>

CC BY-SA 3.0
2016-11-02T01:46:27.097Z
Are you looking for a hash function that gives an *identical* hash for images similar enough to be different sized versions of the same original, or one that gives more *similar* results for more similar inputs?
trichoplax is on Codidact now
CC BY-SA 3.0
2016-11-02T01:57:49.660Z
I don't think this is answerable without clarifying the purpose of the hash function, so I've put it on hold until it is clarified and then it can be edited and reopened.
trichoplax is on Codidact now
CC BY-SA 3.0
2016-11-02T02:02:17.523Z
Sounds like OP wants a robust way to compare if two images are the same even if they have gone through resize or lossy compression, by generating a hash key from it. Sounds a bit something OpenCV might help with
JarkkoL
CC BY-SA 3.0
2016-11-02T02:17:13.103Z
Similar question with "Feature Matching" answer: http://stackoverflow.com/questions/11541154/checking-images-for-similarity-with-opencv
JarkkoL
CC BY-SA 3.0
2016-11-02T18:27:25.123Z
@trichoplax yes I am looking for a hash function that produces an 'identical' digest regardless (or at least to a good degree) of the size, orientation and skewness.
picolo
CC BY-SA 3.0
2016-11-02T21:15:34.340Z
@picolo it sounds like you would prefer a slightly changed image to show as a 100% match (identical hash), but you would also be happy with a high percentage match (similar hash) if there isn't a way to make it 100%. If that's the case, you can edit the question to make it clear what you would find acceptable and it can be reopened.
trichoplax is on Codidact now
<image-processing>
Feature extractions from an image to produce a fingerprint
picolo
# Feature extractions from an image to produce a fingerprint

(Asked by: username_0 on 2016-11-01)

Given an image - such as a simple JPEG of a person or a landscape - is it possible to produce an algorithm that extracts certain visual features from the input image to produce a unique fingerprints of the image.

Think of this as a hash function (such as MD5) that receives an image as input and produces a digest. However in our scenario the digest/hashing result is not from the byte content but rather form the visual representation of the image.

An important feature of the visual fingerprint generation is its consistency for different variation of the image. For example the input image could be resized or saved in a different format (e.g., BMP) or with a different compression rate (in the case of JPEG), or with a reduce set of colours (in the case of GIF).

Is such an algorithm possible to develop?
If so what variations can it cover?
and how accurate such algorithm can become?

**Tags:** image-processing

> **Comments:**
> **username_1**: Are you looking for a hash function that gives an *identical* hash for images similar enough to be different sized versions of the same original, or one that gives more *similar* results for more similar inputs?  
> **username_1**: I don't think this is answerable without clarifying the purpose of the hash function, so I've put it on hold until it is clarified and then it can be edited and reopened.  
> **username_2**: Sounds like OP wants a robust way to compare if two images are the same even if they have gone through resize or lossy compression, by generating a hash key from it. Sounds a bit something OpenCV might help with  
> **username_2**: Similar question with "Feature Matching" answer: http://stackoverflow.com/questions/11541154/checking-images-for-similarity-with-opencv  
> **username_0**: @username_1 yes I am looking for a hash function that produces an 'identical' digest regardless (or at least to a good degree) of the size, orientation and skewness.  
> **username_1**: @username_0 it sounds like you would prefer a slightly changed image to show as a 100% match (identical hash), but you would also be happy with a high percentage match (similar hash) if there isn't a way to make it 100%. If that's the case, you can edit the question to make it clear what you would find acceptable and it can be reopened.  

---

## 0 answers

