[Gvsig_usuarios] Valores -128 a 127 en imagen

Francisco José Peñarrubia fpenarru en gmail.com
Mar Jul 13 11:25:05 CEST 2010


Opino como César.

Supongo que el problema viene porque la imagen es unsigned byte, y en 
java ese tipo no existe, lo toma como byte con signo => -127 a 127 en 
lugar de 0-255.
Ben lo ha solucionado trabajando con short, pero de esa forma se usará 
más memoria de la necesaria. Si se pudiera usar alguna función como esta

|byte a = in.readByte();
||short b = (short)(a & 0xff); 

|||
para devolver el valor de la celda, creo que se podría solucionar el 
problema y no consumir más memoria de la necesaria.

Lo he sacado de aquí:

http://jwinblad.com/resources/unsignedtojava.html

aunque creo recordar quen en el driver de DGN Fernando hizo un montón de 
funciones de este tipo, para trabajar con bits.

Por si te sirve de algo, te adjunto el link al ticket de Ben.

http://forge.osor.eu/tracker/?func=detail&atid=732&aid=14466&group_id=89

Saludos a los dos!! :-)

Fran.



César Martínez Izquierdo escribió:
> Hola Nacho,
>
> creo que es el mismo problema que se comentaba en la lista
> internacional hace unos días (mira el hilo "raster iamge wrong band
> value" (sic) ). En ese mismo hilo tienes una imagen que permite
> reproducir el bug. Se trata de un TIFF de una sola banda y tipo Byte.
> Al consultar los valores de la banda con la herramienta InfoByPoint o
> al calcular las estadísticas, los valores van de -127 a 127. He
> cargado ese mismo ráster con otras herramientas como fwTools y los
> valores deberían ir de 0 a 255.
>
> Es curioso porque tengo otros TIFFs tipo byte y se cargan
> correctamente en gvSIG, pero con aquel falla. Supongo que estará
> generado usando un software distinto.
>
> Benjamin propuso una solución para este problema, aunque no sé si es
> la mejor (cargar los ráster de esta forma consumirá el doble de
> memoria), échale un ojo a ver que opinas tú.
>
> Un saludo,
>
> César
>
> El día 13 de julio de 2010 08:42, Nacho Brodin <ibrodin en prodevelop.es> escribió:
>   
>> Hola
>> Es posible que gvSIG esté haciendo algo mal pero no acabo de entender
>> bien el problema. Supongo que cuando dices que tu imagen tiene un rango
>> de valores 0-255, ¿quieres decir que es un RGB?, es decir, ¿el tipo de
>> dato de la imagen es Byte y tiene 3 o 4 bandas? (esto se mira en el
>> cuadro de Propiedades en la pestaña de Información).
>>
>> Si el tipo es byte y 3 bandas, esto quiere decir que son 8 bits por
>> pixel por lo que el rango de valores es -128 a 127 que es lo que cabe en
>> este tipo de dato. ¿La imagen se visualiza correctamente?. Si es así es
>> que el dato no ha cambiado y es el mismo que tenía en un principio. Lo
>> que  ocurre es que es el rango del color que ves el que va de 0 a 255
>> pero no el dato almacenado. Este se guarda en  el rango -128 a 127, pero
>> son dos cosas diferentes.
>>
>> Con la herramienta de "Información" puedes pinchar sobre un pixel para
>> ver su valor RGB y su valor por banda para comprobar esto. Luego
>> SEXTANTE tiene en "Herramientas básicas para raster" una que es
>> "Estadísticas básicas" consulta ahí el valor de la Varianza, ¿salen mal
>> estas?. Es posible que el valor de varianza que dices que aparece mal es
>> el del cuadro "Propiedades de raster" pestaña General. Ahí lo que
>> aparece es la Varianza del dato y no del valor RGB.
>>
>> Saludos
>>
>> Pep Pons wrote:
>>     
>>> Estoy intentando trabajar con imágenes las cuales están en formato .bil de
>>> ENVI. Para poder utilizarlas en GVSIG  las he pasado a varios tipos de
>>> formatos como tiff o jpeg con otros programas.
>>> Las abro en gvsig sin ningun problema pero cuando hago una estadística de
>>> sus valores me doy cuenta que lo que era una imagen con un rango de valores
>>> entre 0 y 255 me la transforma a un rango de valores de -128 a +127
>>> situandome el valor nodata en el 0. Esto me genera un problema pues al
>>> calcular las estadisticas la varianza y la media me salen distorsionadas.
>>> ¿Alguien sabe como hacer que GVSIG me abra las imágenes en el rango de
>>> valores original (entre 0 y 255)? O en su defecto, ¿como podría modificarlo
>>> para que volviera a ser ese rango de valores original)?
>>>
>>> He probado con varios programas la conversión (arcgis, envi y Saga) con el
>>> mismo resultado. He comprobado que al volver a abrir las imagenes ya
>>> convertidas en estos programas el rango de valores es entre 0y 255.
>>>
>>> Muchas gracias de antemano.
>>>
>>>       
>> --
>> Nacho Brodin
>> Equipo de desarrollo de gvSIG
>> Prodevelop.SL
>> http://www.gvsig.org
>> http://www.prodevelop.es
>>
>> _______________________________________________
>> gvSIG_usuarios mailing list
>> gvSIG_usuarios en listserv.gva.es
>>
>> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
>>
>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>
>>     
>
>
>
>   



Más información sobre la lista de distribución gvSIG_usuarios