Technical documentation - massigerardi/image-search GitHub Wiki

Image Search

Implementation

This library is intended to search an images in a given set of images, using various algorithms The algorithms implemented are the following

PHash

Calculate a frequency hash for an image using DCT. To search for an image, the distance between the hash for two images is calculated

Color Frequency

Surf

An implementation of Surf for java has been used.

Image Search Service

The search is exposed through an interface ImageSearchService

Sequence Diagram

Sequence Diagram

Utils

A ImageUtils class has been created to resize images when needed

ImageUtils class diagram

it can be used in command line and accepts the following arguments java ImageUtils W[xH] file|folder where

  • W is the
  • H is the Height
  • file is the file to resize
  • folder is the folder to resize if H is not used, then the image will be resized according to orientation