help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: pngread does not read 12bit gray images


From: Søren Hauberg
Subject: RE: pngread does not read 12bit gray images
Date: Fri, 11 Jul 2008 09:22:57 +0200

fre, 11 07 2008 kl. 01:10 -0400, skrev de Almeida, Valmor F.:
> > From: Søren Hauberg [mailto:address@hidden
> > Since you have 'pngread' installed 'imread' will try to use that. So,
> > I'd try to use '__magick_read__' directly, i.e.
> > 
> >   Y = __magick_read__ ("foo.png");
> > 
> > and see how that works.
> 
> Yep. It does work. However it is a little tricky to compare the max(Y(:)) and 
> min(Y(:)) values octave has in memory with the output of imagemagick's 
> "identify" tool.
> 
> Just for the record. In the following output from identify
> 
>   Format: PNG (Portable Network Graphics)
>   Class: DirectClass
>   Geometry: 275x220+0+0
>   Type: Grayscale
>   Endianess: Undefined
>   Colorspace: Gray
>   Depth: 16-bit
>   Channel depth:
>     Gray: 12-bit
>   Channel statistics:
>     Gray:
>       Min: 774 (0.188968)
>       Max: 1558 (0.380377)
>       Mean: 1213.52 (0.296275)
>       Standard deviation: 95.3054 (0.0232683)
> 
> Octave's values for min and max are: 12384 and 24928. These are obtained from 
> multiplying the corresponding numbers in parentheses from the "identify" 
> output by 65536.

Hmmm, that's a bit odd isn't it? It seems that

  0.188968 * (2^12 - 1) = 774

and
  
  0.188968 * (2^16 - 1) = 12384

So, this is somehow related to the fact that the image is 12 bit but is
read as 16 bit. Should the minimum value be 774 (as ImageMagick reports)
or should it be 12384 (as Octave reports) ? I mean, who's right?

Søren



reply via email to

[Prev in Thread] Current Thread [Next in Thread]