Sunday, May 2. 2010Averaging an image sequence with ImageMagick![]() Besides the fact that it was a pain to find out how ImageMagick’s -average option is to be used, it turned out to operate wrongly. The switch calculates the mean of an image sequence, i.e. the mean color values for every pixel. Say, if you have a bunch of images with file names like img*.jpg and want the average saved into avg.jpg, the command line is: $ convert img*jpg -average avg.jpg Pretty intuitive. The problem is that you define the mean image Ī[n] of n images I[k] as while ImageMagick does it recursively as
giving you wrong weights 1⁄2n−k+1 like e.g. for n=8 instead of the intended weights 1⁄n like
This misbehaviour can be proven e.g. by taking this sequence of a plain blue, green and red image: and averaging it with the above command. The result is too reddish:
The solution I found was to call convert recursively like this: #!/bin/bash i=0 for file in img*jpg; do echo -n "$file.. " if [ $i -eq 0 ]; then cp $file avg.jpg else convert $file avg.jpg -fx "(u+$i*v)/$[$i+1]" avg.jpg fi i=$[$i+1] done By this, the average of the above example images correctly becomes gray: There might be similar problems with the other image sequence operators, but I haven’t examined them. Maybe I should file a bug. |
AboutCalendar
ArchivesCategoriesShow tagged entriesandroid antenna anti-spam apache austria automobile ballooning bash bluetooth bug career cloud collecting cooking crypto cw debian diy dreams education electronics event fail fashion finance flickr fuerteventura fun gentoo geography german gnu-linux gnucash google google earth graphics guitar hardware history image processing internet kernel kids language lanzarote lhc lifestyle linkroll literature ltd machine learning making mallorca mathematics matlab migration munich music nautilus numismatics octave perl philately philosophy phone photo gear photography physics podcast politics postfix private programming public transport rant religion review salzburg samsung science security social web software statistics storage sustainability symbian tablet time lapse transceiver tv usenet venice video virtualization wordplay work www yahoo youtube
Syndicate This BlogFollow meBookmarks
Powered by |
iamastifter on : iamastifter via Twitter
subik.at on : PingBack