Click here to Skip to main content
15,881,861 members
Articles / Desktop Programming / MFC
Article

Finding Similiar Images

Rate me:
Please Sign up or sign in to vote.
3.46/5 (33 votes)
24 Sep 20022 min read 726.3K   9.2K   131   92
This article gives an overview of Content-Based Image Retrieval

Image 1

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:

  1. Load Query Image (Image we want to search for or find images similar to this) 
  2. Generate Signature of Key Image using Fourier Transform 
  3. For every images in the database Load and generate the signature 
  4. Calculate Euclidean Distance for Key Image Signature and Database Image Signature 
  5. 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:

  1. CxImage (http://www.aoi.it)
  2. CTokenEx Written by Daniel Madden (daniel.madden@compaq.com)
  3. CDirDialog (I forgot the creator)

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Indonesia Indonesia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
AnswerRe: Can not include ximage.h? Pin
Anonymous26-Sep-02 19:51
Anonymous26-Sep-02 19:51 
Generalgotta love that function names Pin
Andreas Saurwein26-Sep-02 1:45
Andreas Saurwein26-Sep-02 1:45 
GeneralFinding Similar Sound Pin
Kastellanos Nikos26-Sep-02 0:05
Kastellanos Nikos26-Sep-02 0:05 
GeneralRe: Finding Similar Sound Pin
ycpark12-Jun-03 19:58
ycpark12-Jun-03 19:58 
GeneralMore, more! Pin
NormDroid25-Sep-02 20:37
professionalNormDroid25-Sep-02 20:37 
GeneralRe: More, more! Pin
Paul Watson25-Sep-02 22:20
sitebuilderPaul Watson25-Sep-02 22:20 
GeneralGreat topic Pin
Stephane Rodriguez.25-Sep-02 7:33
Stephane Rodriguez.25-Sep-02 7:33 
GeneralRe: Great topic Pin
jschroedl1-Oct-02 15:14
jschroedl1-Oct-02 15:14 
Sounds intriguing...is there a hope for an article about gradient + est. std deviation? I'll give it a 5!

John

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.