On Tue, 3 Feb 2009, Anthony Thyssen wrote:

> On Mon, 02 Feb 2009 22:11:54 -0500 (Eastern Standard Time)
> Robert Funnell <[email protected]> wrote:
>
> | On Tue, 3 Feb 2009, Anthony Thyssen wrote:
> |
> | > On Mon, 02 Feb 2009 07:16:38 -0500 (Eastern Standard Time)
> | > Robert Funnell <[email protected]> wrote:
> | >
> | > | On Mon, 2 Feb 2009, Anthony Thyssen wrote:
> | > |
> | > | > On Sun, 01 Feb 2009 08:58:36 -0500 (Eastern Standard Time)
> | > | > [email protected] wrote:
> | > | >
> | > | > | I am trying to convert 16-bit GRAY files to 8-bit JPEG or PNG 
> format.
> | > | > | Since the original images are actually 12-bit, I assume that I need 
> to
> | > | > | right-shift each pixel, so I'm using a command like
> | > | > |
> | > | > | convert -size 512x512+3416 -depth 16 -evaluate RightShift 4 -endian 
> LSB gray:c_vf1169.fre c_vf1169_rs4_lsb.png
> | > | > |
> | > | > | The effect seems to be that the high-order byte is simply ignored 
> when
> | > | > | the right-shift is done. Could someone please explain what I'm doing
> | > | > | wrong? I'm using IM 6.2.4 Q16 as distributed by Debian.
> | > | > |
> | > | > | I apologize if this is really obvious, but I haven't been able to
> | > | > | figure it out or find an answer.
> | > | > |
> | > | > perhaps the 12 bit values in 16 bit integers are already left shifted?
> | > |
> | > | The 12 bits are indeed right shifted in their 16-bit representation.
> | > | What I wanted to do was to right shift the 12 bits into an 8-bit value
> | > | for use in an 8-bit PNG.
> | > |
> | > | In looking into this further in response to your response, I've
> | > | discovered that PNG does support 16-bit greyscale, but I don't want
> | > | that. I've tried some additional manoeuvres but without success, and I
> | > | haven't figured out how to tell IM whether to produce 8-bit or 16-bit
> | > | PNG.
> | > |
> | > | - Robert
> | > |
> | > Note that IM will only use the most significate bits if the output image
> | > format is only using 8 bits values.  So you will not need to right shift
> | > them.
> |
> | I'm a bit confused by this. Are you saying:
> | 'Note that IM will use only the 8 most significant bits if the output
> | image format is using 8-bit values'?
> |
> | > That is if the 12 bit value are currently converted to 16 bit values
> | > either by -evaluate LeftShift, or by IM itself. then IM will handle
> | > any further processing correctly.
> |
> | Under what circumstances would IM convert the 12-bit value to 16 bits
> | 'by itself', without my doing a LeftShift?
> |
> | > Try  saving using      -depth 8 output.png
> | > or using      png8:output.png    for a 8bit palette PNG image.
> |
> | If I understand you correctly, I should do
> | convert -size 512x512+3416 -endian LSB -depth 16 -evaluate LeftShift 4 
> gray:c_vf1169.fre -depth 8 c_vf1169_ls4_lsb.png
> |
>
> Almost....
>
> read the image then do the evaluate on it.
>
> convert -size 512x512+3416 -endian LSB -depth 16 gray:c_vf1169.fre \
>        -evaluate LeftShift 4 \
>        -depth 8 -type Grayscale c_vf1169_ls4_lsb.png
>
> Each line is one operation.

As you say, PERFECT! Except that it turns out that I had the 
endianness wrong, but was covering up that error by my other errors.

> However for testing I would
>  1/ use a smaller image segment
>  2/ output to say  txt:  so you can see what the actual values are
>  3/ see what effect the evaluate has until I get it right.
[snip]

Excellent tips.

> Basically what I was saying was...   get the image input right,
> and IM will handle everything else right!
>
> It is just a matter of how 'correct' you want that input :-)

Or make sure you understand the image input that you have!

Thank you very much for your patience.

By the way, my man page for convert says
     convert input-file [options] output-file
This obscures the importance of putting the options in the appropriate 
place to act on either the input or the output. Perhaps it should say
     convert [options] input-file [options] output-file
Or perhaps it already says this in more recent versions?

Thanks again.

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

Reply via email to