• No results found

4.2 Case study design and methods

4.2.1 The within-case method of process tracing

Antes de ejecutar la aplicación es necesario conocer el significado de los archivos adicionales que se encuentran en la carpeta <Ruta de instalación>\Data\

Archivo de los parámetros de la cámara “camera_param.txt”: contendrá datos

parámetros intrínsecos de la cámara y sus factores de distorsión tangencial y radial. Éste archivo tendrá extensión TXT.

Archivo de configuración de vídeo “video_config.xml”: contendrá la

información necesaria para configurar el modo de captura, el tamaño de la imagen, etc. La configuración de vídeo se especifica en un archivo con extensión XML conforme al esquema DSVídeoLib XML. Este esquema está documentado en el archivo “DsVídeoLib.xsd”. Si se desea, se puede utilizar un visor de esquemas XML para ver el archivo de esquema, y un editor de texto o un editor XML para editar archivos propios de configuración.

Archivo de información del patrón “pattern_name”: contendrá la información

de valores de intensidad de píxel (0-255) necesaria para la detección del patrón según el formato específico. Para facilitar la creación de este tipo de archivos existe otra aplicación auxiliar que consta de un archivo auto ejecutable “Creator.exe” que se encargará de generarlos automáticamente. Si la forma del patrón es modificado en futuras modificaciones, es requisito imprescindible el volver a generar un nuevo archivo “patten_name”.

Archivo de información de localización “location_file.txt” y

“location_fileASCII.txt”: contendrá tanto el código que contiene cada una de las

marcas en formato bidimensional (binario lineal) o en ASCII, según especificaciones de los parámetros de entrada de la aplicación; como el vector de traslación (en metros) y los ángulos de rotación (en grados) del patrón de la marca respecto del mundo. Éste archivo tendrá extensión TXT y deberá seguir el formato siguiente:

Location_file:

Código binario correspondiente X Y Z α β γ

1010010001001101111100110110010011000011 10 2 0 0 0 0

El código binario se corresponde directamente a todos los bits pertenecientes al código de barras incluido en la marca. En el caso tratado en este proyecto, se

El uso de este tipo de código evita tener que realizar la decodificación a código ASCII, pero puede provocar errores en el acceso a la información, al existir probabilidades de detectar un bit erróneo que podría dar acceso a un vector de traslación correspondiente a otra marca.

Location_fileASCII:

Código binario correspondiente X Y Z α β γ

ISP1 10 2 0 0 0 0

En este caso, cada marca tiene asignado un nombre univoco dentro del fichero, compuesto por cuatro caracteres de tipo ASCII. Cada carácter ASCII es obtenido a partir de la decodificación de una columna de 8 bits (dependiendo de la configuración inicial se puede configurar un número inferior de bits por código ASCII). Este tipo de decodificación reduce la probabilidad de error en el acceso a la información contenida.

El uso de un tipo de fichero u otro dependerá de la utilidad que se le quiera dar a la aplicación de visión artificial. Aclarar que en este proyecto los datos contenidos en la información de la marca se reducen únicamente a las coordenadas X e Y y al ángulo de rotación β, ya que como se ha comentado anteriormente, se supone que la marca está ubicada en el techo paralela al plano de visión de la cámara, por lo que la información en Z, α y γ no es requerida.

Archivo de configuración de la aplicación “configuration_app.ini”: contiene la

información que requiere la aplicación para la detección correcta de la marca artificial, el tipo de código contenido en la marca (binario o ASCII) y parámetros de activación de opciones a nivel de interfaz gráfica:

Los parámetros que se pueden definir son los siguientes:

o PT_SIZE = tamaño en milímetros de un único lado externo del patrón pues es cuadrado. Por defecto, si la marca está impresa en formato DIN A4, PT_SIZE=170.

o BC_BAR = numero de filas (o bits por cada columna) que compone el código de barras, incluyendo los cuadrados blancos y negros correspondientes a la señal de sincronización de reloj. Por defecto, BC_BAR = 10, de los cuales, 8 bits son por columna más 2 bit de señal de reloj.

o BC_BARCODE = numero de columnas que compone el código de barras. Por defecto, BC_BARCODE = 4, suficiente para codificar cuatro caracteres de tipo ASCII.

o BC_ASCII = numero de binarios del código de barras leído que formarán parte de la decodificación ASCII si la hubiese. Por ejemplo: 28-1=255, es decir, para BC_ASCII = 8 se cubre toda la tabla ASCII. Si BC_ASCII=0, significa que no habrá codificación ASCII y que consideraremos el código bidimensional como una matriz de binarios (0’s y 1’s). Rango: 0 <= BC_ASCII <= 8. Por defecto, BC_ASCII = 8, lo que significa que se realizará decodificación ASCII y se podrá utilizar caracteres cuyos valores binarios comprendan entre 0 y 255.

Para un correcto funcionamiento de la aplicación si BC_ASCII != 0 siempre BC_BAR = BC_ASCII para todo 1 <= BC_BAR <= 8, para cualquier otro rango de BC_BAR utilizar BC_ASCII = 0.

o SHOW_IMAGE = si es igual a 1 mostrará la ventana de captura de imágenes, si es 0, la ventana no se mostrará. Por defecto, SHOW_IMAGE = 0, de este modo no ocupa espacio dentro de la pantalla.