Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detecting if two images are similar

Could someone give me a push in the right direction, if I am willing to determine if two images actually make a panorama together (or are panorama-like, e.g contain "same" parts, which are obviously a bit transformed).

like image 582
Yippie-Ki-Yay Avatar asked Mar 25 '11 00:03

Yippie-Ki-Yay


2 Answers

The technique you are after is known as "image stitching". There is a reasonable Wikipedia entry on it. That gives a few hints about how the algorithm would work.

It's necessarily a tricky heuristic. You need to find groups of pixels that are similar (but obviously not identical). This could include parts that are rotated slightly, scaled slightly, or coloured slightly differently.

like image 101
mgiuca Avatar answered Oct 15 '22 21:10

mgiuca


There are several articles on stitching images together:

  1. Implementation of HDR panorama stitching algorithm
  2. Image Alignment and Stitching: A Tutorial
  3. http://www.codeproject.com/KB/recipes/automatic_panoramas.aspx

The last one is a good tutorial that uses the LGPL library Accord.NET.

like image 20
CodeNaked Avatar answered Oct 15 '22 20:10

CodeNaked