[NBLUG/talk] Searching for near-identical photos?

Bill Kendrick nbs at sonic.net
Mon Nov 7 19:42:16 PST 2005


On Sun, Nov 06, 2005 at 12:53:28PM -0800, Lincoln Peters wrote:
> Anyone know of a program that could tell me if two photos are nearly 
> identical, even if they aren't 100% identical?  I ask because I'm working on 
> a large collection of photos for a group at SSU, and I suspect that it 
> contains several duplicates that differ only slightly (e.g. two copies of a 
> printed photo that were scanned at different times, perhaps with different 
> settings, or even with different scanners).

I did a quick Google search for "compare images linux", and one hit I got
was a Linux.com article on how to use Image Magick:

  http://applications.linux.com/article.pl?sid=05/03/29/1525217&tid=39&tid=49&tid=47

One person's comment to the article was:

  One of our firmware test developers found a scripted routine for
  using ImageMagik to compare images. The script analyzed the images and
  could find images that were similar without being exactly the
  same. The degree of similarity could be roughly determined. This
  allows for things like registration offset or slight color changes to
  be tolerated whilst finding matching images.


Seems sensible.  Reducing the image in various ways can help you find
possible matches:

  * Reduce the size of the image.
    + This removes small differences in the picture, e.g. from JPEG artifacts
    + This allows for matching two differently-sized scans of the same picture
      (e.g., reduce a 1600x1200 and an 800x600 both down to 320x240, then
      compare)

  * Reduce the colors.
    + Either posterize the image, or otherwise break it down to a very low
      color palette (to allow for difference in color quality of scans),
      or perhaps just switch to greyscale or even 1-bit black-and-white

  * Crop!
    + Take out borders

  * Rotate a few degrees either direction...?


This could all be batched somehow.  Along with the KDE image comparison
front-end I mentioned in my last post (to someone else's follow-up),
which I know very little about, I'd be surprised if there weren't at least
a few other tools for doing this under Linux.  And I'd bet they're scriptable
via Image Magick (or Gimp's non-GUI batch-mode).


> I think that GNUift might be able to do this, but I've never been able to get
> it to work.

And I'll need to research that, cuz I've never heard of it. ;)

-- 
-bill!
bill at newbreedsoftware.com
http://www.newbreedsoftware.com/



More information about the talk mailing list