Click here to Skip to main content
6,634,665 members and growing! (16,720 online)
Email Password   helpLost your password?
Multimedia » General Graphics » General     Intermediate

Finding Similiar Images

By Danang Suharno Ngadinegaran

This article gives an overview of Content-Based Image Retrieval
VC6, VC7Win2K, WinXP, MFC, Dev
Posted:24 Sep 2002
Views:158,790
Bookmarked:84 times
Announcements
Loading...
 
Search    
Advanced Search
Add to IE Search
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
44 votes for this article.
Popularity: 6.46 Rating: 3.93 out of 5
4 votes, 14.3%
1

2
4 votes, 14.3%
3
5 votes, 17.9%
4
15 votes, 53.6%
5

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

About the Author

Danang Suharno Ngadinegaran


Member

Occupation: Web Developer
Location: Indonesia Indonesia

Other popular General Graphics articles:

  • A flexible charting library for .NET
    Looking for a way to draw 2D line graphs with C#? Here's yet another charting class library with a high degree of configurability, that is also easy to use.
  • CxImage
    CxImage is a C++ class to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images.
  • 3D Pie Chart
    A class library for drawing 3D pie charts.
  • Barcode Image Generation Library
    This library was designed to give an easy class for developers to use when they need to generate barcode images from a string of data.
  • ImageStone
    An article on a library for image manipulation.
Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 25 of 77 (Total in Forum: 77) (Refresh)FirstPrevNext
Generalupdate from cimage.lib Pinmemberxpjandy18:01 29 Oct '09  
QuestionHow to use this in RGB color space? Pinmemberczwarty9:02 20 Oct '09  
GeneralI have the same problem is “unresolved external symbol "public: bool __thiscall CxImage::Load(unsigned short const *,unsigned long)" (?Load@CxImage@@QAE_NPBGK@Z)” Pinmemberliuyang_bnu22:26 11 May '09  
RantPost an .exe-file Pinmemberandycpp9:38 3 May '09  
GeneralLinks not found: PLS help PinmemberMember 43224711:53 12 Mar '09  
Generalsame code in matlab Pinmemberpradyuvishal6:10 10 Mar '09  
Generalmatlab Pinmembermaryam2229:36 2 Feb '09  
GeneralCBIR Pinmembereipro4:19 22 Dec '08  
GeneralCan I find the same system in Matlab Pinmemberahmedabdu18:40 15 Dec '08  
Generali have build it successfully Pinmemberahlawat.arun@gmail.com20:45 13 Nov '08  
GeneralRe: i have build it successfully Pinmemberadamdcg22:58 3 Dec '08  
GeneralRe: i have build it successfully Pinmemberadamdcg0:00 4 Dec '08  
QuestionErrors when compile Pinmembertkc_tran19:28 12 Nov '08  
AnswerRe: Errors when compile Pinmemberxpjandy17:58 29 Oct '09  
Generalcompiler for this project Pinmembertkc_tran15:20 12 Nov '08  
Generalgabor function Pinmemberradudragota8:52 29 May '07  
GeneralI have built this project successfully PinmemberKevinChen21:07 28 Dec '06  
GeneralRe: I have built this project successfully Pinmemberfelixhsu5:47 3 Jun '07  
GeneralEnquiry about the whole program Pinmemberkeigotheboss7:41 19 Oct '06  
Generalerror C2039: 'Load' : is not a member of 'CxImage' Pinmembernaraimha0:39 1 Jul '06  
Generalplz give me compiled exe file. PinmemberMyoung-Gyu Kim19:07 6 Jun '06  
Generalwhere is demo.lib? Pinmember12345life21:20 28 Feb '06  
Generalwhy Pinmemberali212121212121211:13 10 Feb '06  
Generali have serious problem PinmemberTassadaqHussain12:28 9 Aug '05  
GeneralRe: i have serious problem Pinmemberuumeme19:38 22 Aug '05  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 24 Sep 2002
Editor: Chris Maunder
Copyright 2002 by Danang Suharno Ngadinegaran
Everything else Copyright © CodeProject, 1999-2009
Web22 | Advertise on the Code Project