1. A system comprising: a receiving module comprising one or more computer processors configured to access target image information representing a target image comprising a multiplicity of image pixels; a processing module comprising at least one computer processor configured for processing the target image information to generate multiple image vectors for the target image by performing operations comprising: partitioning the target image into a grid comprising multiple pixel blocks, each pixel block being made up by multiple contiguous image pixels of the target image, and the pixel blocks being substantially consistent in size and shape throughout; for each of the pixel blocks, assigning to the pixel block an index value based at least in part on intensity values of the image pixels making up the pixel block; identifying multiple image portions forming part of the grid, each image portion being made up by a plurality of contiguous pixel blocks forming part of the grid, the multiple image portions being substantially consistent in size and shape; and for each one of the multiple image portions, compiling a respective index vector comprising the index values of the corresponding plurality of pixel blocks making up the image portion; a comparison module comprising one or more processing devices configured to perform a similarity comparison between the target image and one or more candidate images based at least in part on the multiple image vectors of the target image; and a result module comprising at least one processing device configured to output on a computer device a comparison result based on results of the similarity comparison.