Cabezas de lectura para marcas ópticas

Una OMR puede equiparse con una o dos cabezas de lectura para marcas ópticas

Dependiendo de los usos a los que se destine, un lectora OMR puede estar equipada con una o dos cabezas de lectura para marcas ópticas que son los peines de células fotoeléctricas de lectura para el anverso y reverso de los formularios y también con una o con dos cabezas de lectura de código de barras. Si bien, las lectoras más estándar suelen tener una sola cabeza de lectura de marcas ópticas y, opcionalmente, una cabeza de lectura de códigos de barras.

En las lectoras ópticas de calidad las cabezas de lectura han de estar cubiertas por cristales para protegerlas de la suciedad.

En función de los requerimientos de la aplicación, las cabezas de lectura de marcas ópticas pueden venir preparadas para la lectura con luz roja o infrarroja.

Los peines de lectura pueden venir preparados para formularios:

  • De 40 columnas a intervalos de 1/5 de pulgada.
  • De 48 columnas a intervalos de 1/6 de pulgada.

Las cabezas, con su peine de células fotoeléctricas en su interior, son visibles si se abre la cubierta superior de la lectora óptica, como se muestra en la fotografía.

Vídeo con el proceso de lectura y consejos para leer formularios

Un formulario bien estructurado y diseñado para la lectura óptica debe cumplir una lista de características importantes para la exactitud de la toma de datos. También puede llevar impresos textos y gráficos explicativos en uno o varios idiomas según se requiera para su uso concreto.

Un prerrequisito para una lectura exacta de los clocks que se ven a la derecha del formulario es que su transporte a través de la unidad de lectura discurra de forma rectilínea y sin ningún impedimento.

Los formularios no se deben introducir en la lectora óptica ni arrugados ni enrollados ni doblados en la lectora. De ser necesario hay que alisar antes cualquier arruga o borde doblado que encuentre.

No deben utilizarse los líquidos correctores y si se han utilizado sobre el formulario hay que asegurarse de que ya se haya secado totalmente antes de introducirlos dentro de la lectora OMR. De otro modo existe el peligro de que entren impurezas en el mecanismo de transporte y la unidad de lectura, cosa que puede provocar diversos errores en el proceso de lectura.

Las etiquetas con código de barras mal colocadas también pueden causar inconvenientes en el mecanismo de transporte y el atasco de los formularios.

Leer formularios OMR con JBLee y sacar los resultados a Excel

A continuación explicamos cómo se utiliza un programa de lectora óptica, específicamente programado para ser usado con el módulo JBLee (Comaof), para generar ficheros de texto plano, separados por puntos y comas (".csv"), que pueden abrirse con Excel de Microsoft.

Los programas de lectura óptica, que desarrollamos a medida, los enviamos por correo electrónico y con un nombre de archivo (fichero) que hace referencia al tipo de formulario que se va a leer y con la extensión ".wjb". Por ejemplo, los nombres de archivos "docencia.wjb", para evaluación de la docencia, "exa_conf.wjb", para formularios de exámenes, etc.

Cuando se reciben por correo electrónico estos ficheros hay que guardarlos en el computador en el directorio de definiciones de formularios que se desee.

A continuación, una vez guardado el programa, hay que ejecutar "Lectura TXT – Lectura Directa" (ver el recuadrado en rojo en la siguiente figura) desde el programa Lanzador, o bien "Lectura a fichero de texto" de los "Programas de lectura óptica".

Leer formularios con JBLee y sacar los resultados a Excel

Para ello se marca utilizando el cursor en forma de lápiz como se muestra en la siguiente figura:

Para ello se marca utilizando el cursor en forma de lápiz

Elegimos el archivo de programa recibido, por ejemplo, el anterior "docencia.wjb", dentro del directorio en el que se ha guardado pulsando en el botón con tres puntos que hay al lado de "Ficheros de formato", como se muestra en la figura:

Elegimos el archivo de programa recibido, por ejemplo, el anterior docencia.wjb

Aparecerá un cuadro de diálogo que nos permitirá "navegar" por los directorios, y elegir el archivo de programa que se guardó anteriormente en el computador.

Aparecerá un cuadro de diálogo que nos permitirá navegar por los directorios

Luego pulsamos el botón con tres puntos que hay más abajo, al lado de "Fichero de salida", y de modo similar elegimos el nombre del archivo de salida, comprobando que en el "Tipo:" elegimos "Todos los ficheros (*.*)", en vez de "Ficheros de texto (*.txt)" y que la extensión que le damos es ".csv". Por ejemplo, "prueba.csv", en este caso en el directorio "agronomos". El archivo de salida puede estar en el mismo o en diferente directorio al archivo del programa.

El archivo de salida puede estar en el mismo o en diferente directorio al archivo del programa

Los archivos con extensión ".csv" son un tipo de ficheros Excel, en donde cada línea (registro) corresponderá a un formulario leído y cada columna a uno de los campos de entrada del modelo de formulario. Si se ha pedido el programa para ser leído directamente por Excel, lo realizamos de forma, que cada campo se separa por un ";" y, así, el archivo de salida tiene la estructura de un archivo ".csv" de Excel.

A continuación se carga la lectora óptica con formulario y se pulsa el botón de "Leer", siguiendo tras cada lote con el botón de "Más documentos" y terminando con los botones "Fin lectura" y "Salir". Durante el proceso de lectura, en la "Ventana de lectura" se va visualizando el contenido leído de los formularios.

Durante el proceso de lectura, en la ventana de lectura se va visualizando el contenido leído de los formularios

El archivo de salida con los datos leídos de los formularios, por ejemplo, "prueba.csv" se puede abrir con Excel como se muestra a continuación:

El archivo de salida con los datos leídos de los formularios

Los siguientes son artículos interesantes para profundizar más en las diferentes formas de programar una lectora óptica de marcas para leer formularios OMR, procesarlos y almacenar los resultados de su lectura.

Ejemplo de programa básico para una lectora óptica

A continuación se presenta un ejemplo básico del código fuente de programación del formulario de la imagen de abajo a la derecha. Este es el tipo de código de programación que se almacena en los ficheros de extensión ".wjb". Este tipo de programación permite leer un sólo formulario, realizar una interpretación básica y directa de los campos de entrada y almacenar el resultado de la lectura en un fichero de texto o en un fichero CSV delimitado por comas para Excel de Microsoft. En el programa de lectura óptica JBLee (Comaof) son el tipo de ficheros que se emplea en la opción denominada Lectura TXT.

Al tratarse de un ejemplo simple la lectura se resuelve con varios campos del tipo denominado múltiples opciones [MO] y un campo del tipo denominado identificador horizontal [IH].

Los campos se han definido siguiendo la estructura del propio formulario OMR, esto es, de arriba hacia abajo y de izquierda a derecha. Pero esto se ha realizado así para facilitar la compresión de este código fuente de programa, no porque sea estrictamente necesario.

Ejemplo básico de programación de una lectora óptica

[CF]
  Anverso = 42
  Reverso = 0
  Autoreverse = N
  Parar si error = N
  Codigos de barra = 0

[SE]
  Sensibilidad = 25
  Discriminacion = 15

[MO]
  Nombre = "dni            "
  Parametros = 1 1 15 10 8 V 0 0 N 1
  Mascaras = "0123456789"

[MO]
  Nombre = "numero         "
  Parametros = 1 1 6 10 1 V 0 0 N 1
  Mascaras = "0123456789"

[MO]
  Nombre = "tipo           "
  Parametros = 1 11 26 11 20 H 0 1 N 1
  Mascaras = "ABCD"

[MO]
  Nombre = "grupo          "
  Parametros = 1 11 17 11 11 H 0 1 N 1
  Mascaras = "ABCD"

[MO]
  Nombre = "sec            "
  Parametros = 1 11 8 11 2 H 0 1 N 1
  Mascaras = "1234"

[IH]
  Parametros = 1 H 12
  Identificacion = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  "

[MO]
  Nombre = "ítem           "
  Parametros = 1 13 37 42 33 H 0 0 N 1
  Mascaras = "ABCDE"

[MO]
  Nombre = "ítem           "
  Parametros = 1 13 29 42 25 H 0 0 N 1
  Mascaras = "ABCDE"

[MO]
  Nombre = "ítem           "
  Parametros = 1 13 21 42 17 H 0 0 N 1
  Mascaras = "ABCDE"

[MO]
  Nombre = "ítem           "
  Parametros = 1 13 13 42 9 H 0 0 N 1
  Mascaras = "ABCDE"

[MO]
  Nombre = "ítem           "
  Parametros = 1 13 5 42 1 H 0 0 N 1
  Mascaras = "ABCDE"

[FF]

Ejemplo de programa avanzado para una lectora óptica

A continuación se presenta un ejemplo avanzado del código fuente de programación de la lectura de modelos de formulario. Este es el tipo de código de programación que se almacena en los ficheros de extensión ".mlo". Este tipo de programación utiliza definiciones más básicas del tipo WJB (en el siguiente ejemplo puede verse como define el WJB que se emplea en la variable Formatos). Permite leer varios tipos de formularios, evaluar su contenido, corregir exámenes y test, ponderar respuestas, etc. y almacenar el resultado de la lectura en una base de datos. En el programa de lectura óptica son el tipo de ficheros que se emplea en la opción denominada JBLee Lectura de modelos (Comaof).

Ejemplo avanzado de programación de una lectora óptica

[MODELO]
Tipo=Examen monoplantilla
Lectura=Monohoja
Formatos=F:\Archivos\universidad\admision.wjb
DLL=
PuntuacionAprobado=5
NotaMaximaEscalaFinal=10
NotaAprobadoEscalaFinal=5
DecimalesEnSalida=3
Intervalos=10
Intervalos10=10
ListadosNombres=No
FicheroNombresListados=
DniPruebaListados=
DniListados=
NombreListados=
Ape1Listados=
Ape2Listados=


[CABECERA]
Nombre=CREDENCIAL
Comienzo=1
TotalCaracteres=7
GrabarCampo=Si
Alinear=No
RellenarConCeros=No
NoRepetido=Si
DigitoControl=Ninguno
SinDoblesMarcas=Si
Marcado=Si
MarcadoDesdePrimera=No
BuscarEnDB=No
Tabla=
Campo=
Rechazo=Si no existe
Limites=No
LimiteDesde=
LimiteHasta=
LimiteRechazo=Rechazar si esta fuera
ReemplazarSiBlancos=No
ReemplazarSiDobles=No
PosicionNuevoCampo=0
TeclearSiError=Si
ValidarCampoTecleado=Si
AccionEnlace=Ninguna
IndiceScan=No
GrabarImagenScan=No
NumeroImagenesScan=100
ConcatenarOrdenScan=No


[TEST]
Nombre=OPCIONES
Comienzo=8
TotalCaracteres=100
CaracteresXítem=1
SinDoblesMarcas=No
Marcado=No
Total=10
Acierto=1
Fallo=0.25
Doble=0
Blanco=0
PuntuacionAprobado=5
Obligatorio=No
Peso=0
TeclearSiError=No
ValidarCampoTecleado=Si
OpcionesPorRespuesta=4
TipoRespuesta=Alfabetico mayusculas
Intervalos=10
TestConAnulaciones=No
RespuestasPorítem=4
CaracteresPorPregunta=3
TipoRespuestaAnulacion=Alfabetico mayusculas