Skip to main content

Find images similar to a reference image.

Project description

imagesearch

imagesearch returns a "measure of visual similarity" between a reference image and a set of other images. This can be used to search for a similar image in a large/deep directory structure.

Measure of Visual Similiarity

imagesearch returns a nonnegative integer that quantifies the visual similarity between the reference image and another image. It does this by creating an image fingerprint and looking at the difference between them.

A critical feature of these fingerprints is that they can be numerically compared, and big differences will produce large values, and vice versa.

A 0 value indicates the highest level of similarity, or possibly a true match.

Values should be treated as opaque and relative. It is dependent on the algorithm used to create the fingerprints and your subjective criteria for a similar image.

This project uses the imagehash library to produce these fingerprints, and more information about the techniques can be found there.

Algorithms

All the fingerprinting algorithms in imagesearch come from imagehash. In imagesearch, you may specify which algorithm to use by passing the appropriate option value to the -a or --algorithm flag:

  • ahash: Average hashing (aHash)
  • phash: 2-axis perceptual hashing (pHash)
  • phash-simple: 1-axis perceptual hashing (pHash)
  • dhash: Horizontal difference hashing (dHash)
  • dhash-vert: Vertical difference hashing (dHash)
  • whash-haar: Haar wavelet hashing (wHash)
  • whash-db4: Daubechies wavelet hashing (wHash)
  • colorhash: HSV color hashing (colorhash)

See this section of the imagehash documentation for examples of different methods producing the same fingerprint for different images. These are the analog to cryptographic hash collosions, so it's important to understand what kinds of scenarios may cause this!

Examples

  • Compare a reference image to all images in a search path:

      > imagesearch needle.jpg haystack\
      28      haystack\0.jpg
      38      haystack\1.jpg
      12      haystack\2.jpg
      18      haystack\3.jpg
      32      haystack\4.jpg
      29      haystack\5.jpg
      0       haystack\6.jpg
      29      haystack\7.jpg
      5       haystack\8.jpg
      28      haystack\9.jpg
    

    In this example, haystack\6.jpg is most similar.

  • Compare against a single image:

      > imagesearch needle.jpg haystack\1.jpg
      38       haystack\1.jpg
    
  • Only return images with similarity less than or equal to 10:

      > imagesearch needle.jpg haystack\ --threshold 10
      0       haystack\6.jpg
      5       haystack\8.jpg
    
  • Return the first image found under the threshold (0, in this case) and stop searching immediately:

      > imagesearch needle.jpg haystack\ -t 0 -1
      0       haystack\6.jpg
    
  • Specify a different algorithm:

      > imagesearch needle.jpg haystack\ --algorithm colorhash
      ...
    
  • Get more help:

      > imagesearch --help
      ...
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imagesearch-0.1.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

imagesearch-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file imagesearch-0.1.0.tar.gz.

File metadata

  • Download URL: imagesearch-0.1.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.10 CPython/3.8.5 Windows/10

File hashes

Hashes for imagesearch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7286ecaeceb0c0ec844001d244f22430099d7435c2e8b9ff9868332f5aac9a27
MD5 a489f10db00eab04480cfd1325e6d0f5
BLAKE2b-256 fcdcd414af52cb10e7812a47f72ac8089bdc4629b3e442fbc2792eee779dc627

See more details on using hashes here.

Provenance

File details

Details for the file imagesearch-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: imagesearch-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.10 CPython/3.8.5 Windows/10

File hashes

Hashes for imagesearch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c56a1348f972ad61f42a00241f2c4ab334d24d9945b4b49edb05f5dd77d67cb
MD5 0249301aa4101e9485d9c8a14839e894
BLAKE2b-256 f3804ad1b5405d8e840a79803963afbb8f65dc5240b782e893c5fa247485d4cb

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page