Hi,

I would like to write a script for an advanced 'Unsharp Mask'
technique, which I need very frequently. This technique requires
the image to be available in HSL color space (which is no problem),
but then only the 'L' channel shall be modified. How does one go
about there using ImageMagick?

TIA,

Claus


Hello Claus,

I have done similar kinds of things with only the L channel from HSL. See my scripts: omnistretch, redist, bcimage at:

http://www.fmwconcepts.com/imagemagick/index.html


Here is what I have done:

Separate channels:

convert $infile -colorspace HSL -channel R -separate $tmp0
convert $infile -colorspace HSL -channel G -separate $tmp1
convert $infile -colorspace HSL -channel B -separate $tmp2

Do your unsharp masking processing on $tmp2

The recombine channels

convert $tmp0 -colorspace $colormodel $tmp0 -compose CopyRed -composite \
        $tmp1p -compose CopyGreen -composite \
        $tmp2p -compose CopyBlue -composite \
        -colorspace RGB $outfile

$tmp0, $tmp1, $tmp2 are predefined temporaries that the script will automatically delete when the script finishes.

I learned all this from Anthony Thyssen. Anthony has explained this conversion on his page at

http://www.imagemagick.org/Usage/channels/

see especially the section on Combining non-RGB Channel Images


When you finish your script, I would like to see what you are doing, if it is not a private thing. I assume you are doing unsharp masking on just the L channel, but I would like to understand what more you might be doing in addition.

Fred
_______________________________________________
Magick-users mailing list
[email protected]
http://studio.imagemagick.org/mailman/listinfo/magick-users

Reply via email to