FORMATO GRÁFICO PIC

1.- Introducción

Cuando se desea almacenar un gráfico o imagen digitalizada en un computador, esto se hace mediante el uso de un fichero gráfico. Estos ficheros normalmente se dividen en dos partes, una denominada comúnmente cabecera (header) donde se almacenan datos relativos al gráfico que se almacena tales como ancho, alto, relación entre pixel y unidad de medida, unidad de medida, tipo de imagen (color o blanco y negro), codificación del color (componentes RGB, HSI, YCR, etc. o tabla de transformación o "Lookup Table"), mítodo de compresión si lo hay, etc. A continuación de la cabecera, vienen los datos del gráfico o de la imagen digitalizada. stos datos pueden encontrarse comprimidos o no. Así los ficheros que contienen gráficos tienen por lo general la estructura que se muestra en la siguiente ilustración:

CABECERA

GRÁFICO o IMAGEN DIGITALIZADA

Algunos programas que acompañan a dispositivos que digitalizan imágenes (tarjetas de adquisición de imágenes), no dan como salida ficheros gráficos con un formato "estándar", sino que se limitan a dar la imagen digitalizada como una matriz de pixel con valores de niveles de gris o bien con alguna de las coordenadas de color (RGB, HSI, ...), a este tipo de fichero es a lo que vamos a denominar como ficheros raw o raster, es decir, ficheros donde la imagen se almacena digitalizada sin ningún tipo de cabecera, de forma que los datos relativos a tamaño de la imagen en pixels, tipo de imagen, etc. se deben conocer con anterioridad.

A continuación se dará una descripción del formato de fichero gráfico, denominado formato Pic, que se va a utilizar como medio de intercambio de imágenes en las prácticas de la asignatura de Reconocimiento de Formas, así como de algunos programas que permiten la conversión de ficheros raster y en otros formatos gráficos al formato Pic (tiff y gif), y a la inversa.

2.- Formato de ficheros Pic

Este formato de ficheros gráficos es el que se va a utilizar como estándar en la realización de las prácticas de la asignatura de Reconocimiento de Formas. Este formato permite almacenar una imagen digitalizada por fichero, que puede se en tonos de gris o bien en color (RGB y HSI), y tambiín una secuencia de imágenes en cada fichero, denominándose slice a cada una de las imágenes que contiene el fichero, y siendo en este caso solo posible imágenes en tonos de gris. Los ficheros en este formato constan de una cabecera y a continuación se encuentran cada uno de los slices que componen el fichero. La cabecera del fichero está compuesta por 6 enteros (4 bytes cada uno) y la posición y significado de cada uno de ellos se da en la siguiente tabla.

Offset (en bytes) N de Entero Nombre Significado
0 1 type Tipo de imagen
4 2 nslices N de slices de la imagen
8 3 sizex N de columnas
12 4 sizey N de filas
16 5 nlevels N de niveles de grises
20 6 homothety Tipo de homotecia

Los datos de la imagen vienen expresados como una matriz de bytes (formato raster) sin comprimir, por cada unos de los diferentes slices que componen la imagen, donde se almacena el valor de los pixels por filas.

A continuación se explican en detalle cada uno de los campos que componen la cabecera, así como los diferentes valores que pueden tomar.

- Wpicture Este programa es un visualizador para imágenes tipo Pic. El comando para usarlo es el siguiente:

Wpicture [-v][-s][-cMODE][-llabel][-zzoom][-display display_name] file

donde file es el fichero Pic a visualizar y las posibles opciones son las que aparecen entre corchetes y su significado es:

  • -v: Con esta opción Wpicture no funciona en modo silencioso, que es la forma de funcionamiento por defecto, mostrando información sobre la imagen a mostrar. Este parámetro no está activado por defecto.

  • -s: Este parámetro, igual que el siguiente, tiene que ver con la conversión del color expresado como 24 bits al expresado con sólo 8 bits. Este parámetro no está por defecto.

  • -cMODE: Indica el modo de conversión de 24 a 8 bits para representar el color. MODE puede tomar uno de los siguientes valores:

    • CONV24_FAST

    • CONV24_SLOW (Valor por defecto)

    • CONV24_BEST

    y se corresponden con la utilización de diferentes algoritmos para la conversión de color en 24 bits a color en 8 bits.

  • -llabel: label es el nombre de la ventana donde aparece la imagen. Por defecto es el nombre de la imagen.

  • -zzoom: zoom es un entero mayor o igual a 1, que se aplica como índice de aumento de la imagen. Por defecto es 1.

  • -display display_name: display_name es el nombre del servidor X-window, donde se desea se muestre la imagen, por defecto es donde se está ejecutando el programa.

- Conversores

Existen una serie de programa auxiliares para realizar una serie de conversiones entre diferentes tipos de formatos de imágenes. Estos programas son:

  • TifToPic: Realiza la conversión de un fichero en formato Tiff a formato Pic, el comando es:

    TifToPic file_name[.tif]

    dando como resultado el fichero file_name.Pic en formato Pic.

  • PicToTif: Realiza la conversión de un fichero de formato Pic a uno con formato Tiff, el comando es:

    PicToTif file_name[.Pic] [-b]

    dando como resultado el fichero file_name.tif en formato Tiff. Tiene la opción -b que permite que la el fichero Tiff generado sea en niveles de grises en lugar de componentes de color RGB.

  • PicToGif: Convierte una imagen de formato Pic a formato Gif. El comando es:

    PicToGif [-c MODE] [-v] file_name[.Pic]

    dando como salida un fichero file_name.gif. Las opciones -c MODE y -v tienen el mismo significado que en el programa Wpicture.

  • ImgToPic: Este programa permite convertir un fichero raster de tamaño sizex columnas por sizey filas en un fichero en formato Pic, el comando es el siguiente.

    ImgToPic file_name1 file_name2.Pic sizex sizey

    el fichero raster de entrada (file_name1) tiene que ser especificado con extensión porque por defecto no toma ninguna. El fichero raster debe estar almacenado por filas.

  • PicToDat: Convierte ficheros de tipo Pic del tipo GREY en ficheros raster, es uso es:

    PicToDat file_name1.Pic file_name2

    el fichero raster de salida (file_name2) tiene que ser especificado con extensión porque por defecto no toma ninguna. El fichero raster estará almacenado por filas.

  • PicToRgb: Este programa tiene como entrada un fichero Pic del tipo RGB, y como salida el fichero sin cabecera. El comando es:

    PicToRgb file_name1.Pic file_name2

    el fichero raster de salida (file_name2) tiene que ser especificado con extensión porque por defecto no toma ninguna.

  • RgbToPic: Realiza la función inversa al programa PicToRgb, y el uso es:

    RgbToPic file_name1 file_name2 sizex sizey

    donde sizex y sizey es el tamaño en columnas y filas.

  • Raw3Pic: Convierte tres ficheros de pixels que contienen las componentes de rojo, verde y azul en un fichero Pic del tipo RGB de tamaño sizex columnas por sizey filas. El comando es:

    Raw3Pic file_name1 file_name2 sizex sizey

    file_name1 es el nombre de tres ficheros cuyas extensiones son red, grn y blue.

  • PCtoHP: Debido a que el formato de los enteros en los PCs es diferente al usado en las estaciones de trabajo, es necesario realizar una conversión de los enteros que componen la cabecera de los ficheros Pic generados en un PC para que estos puedan ser utilizados en una estación de trabajo. El uso de este programa es:

    PCtoHP file_name

NOTA: Con el mismo programa se puede hacer la conversión inversa.
Este documento fue originalmente compilado por Fco. Mario Hernández Tejera y J. Javier Lorenzo Navarro.

Comentarios, críticas, sugerencias y demás a modesto@dis.ulpgc.es

The GIAS Group e-mail: modesto@dis.ulpgc.es