Random notes from mg

a blog by Marius Gedminas

Marius is a Python hacker. He works for Programmers of Vilnius, a small Python/Zope 3 startup. He has a personal home page at http://gedmin.as. His email is marius@gedmin.as. He does not like spam, but is not afraid of it.

Sun, 19 Dec 2010

Stuff I've been doing recently

objgraph got

zodbbrowser got

imgdiff got

posted at 02:35 | tags: | permanent link to this entry | 2 comments
Welcome to the crazy world of "image descriptors"!

There's a whole bunch of different ones, depending on the likely source of your images, the kind of differences you care about and so on.

One option which (at least on linux) supports python is FiRE http://thomas.deselaers.de/fire/ - and that handles a whole different bunch of different metrics.

You can also roll your own much more easily using OpenCV (the computer vision package ex-IBM) and the python wrappers, although it's a very large dependency. One library which does precisely that is openSiFT - http://blogs.oregonstate.edu/hess/code/sift/

On the other hand, if you just want to show differences between minimally changed but possibly non-aligned image, then you are looking at simple "image registration", which is a reasonably well solved problem in the medical imaging literature. There is an example of that in the scipy docs using a mutual information technique - http://projects.scipy.org/scipy/browser/trunk/scipy/ndimage/_registration.py?rev=4450

The upshot though is that many problems in computer vision are non-trivial, and potentially very slow, so if you want to solve it without re-inventing the wheel, you might end up with large external, compiled dependencies
posted by dan mackinlay at Sun Dec 19 05:59:16 2010
you can also look at software to create panoramas,
like fotoxx or hugin which perform the matching on images, using translation but even also rotation...
posted by Pierre at Sun Dec 19 09:32:52 2010

Name (required)


E-mail (will not be shown)


URL


Comment (some HTML allowed)