Introduction
Content-Based Image Retrieval (CBIR) should be the right title for this article.
CBIR is a way to index or find a similarity between images in a multimedia
database. There are methods such as Fourier Transform, Hough Transform, Wavelet
Transform, Gabor Transform, Hadamard transform coefficients to be used as engine
in CBIR system. Retrieval by image content has received great attention in the
last decades. Several techniques have been proposed to the problem of finding or
indexing images based on their contents. Each method used has strong and weak
points.
In this article I try to give an overview view about CBIR because this kind
of topics is the most frequently asked question in Digital Image Processing.
Here I used CxImage library from Davide Pizzolato (http://www.aoi.it). The
latest version of CxImage library contain a function to transform an image into
it's frequency domain that is FFT2
function. The technique I used here is
not really efficient but at least this article will guide you to more advanced
CBIR.
If you want more efficient method try to follow this links http://debut.cis.nctu.edu.tw/pages/slides/jeffrey/present2.pdf
and http://www.telecom.tuc.gr/paperdb/icassp99/PDF/AUTHOR/IC991221.PDF.
Finding Similiar Images
There are 4 steps to perform image retrieval based on the similarity:
- Load Query Image (Image we want to search for or find images similar to
this)
- Generate Signature of Key Image using Fourier Transform
- For every images in the database Load and generate the signature
- Calculate Euclidean Distance for Key Image Signature and Database Image
Signature
- Put the value in a auto-sorted listbox to make similarity investigation
easier because smallest value stay in the top of the list and step down for similar
images.
The image similarity depend on Euclidean Distance. The smaller the distance
the image will get more similar. In measuring similarity, there are few famous
math formulas such as Dice similarity coefficients, Jackard, Otsuka, Simpson,
Manhattan, Robinson, and more.
The libraries used:
- CxImage (http://www.aoi.it)
- CTokenEx Written by Daniel Madden (daniel.madden@compaq.com)
- CDirDialog (I forgot the creator)