03:00
Los códigos bidimensionales o matriciales son una evolución de los conocidos códigos de barras pero con mayor densidad de información y menor tamaño. Existen variados tipos de códigos matriciales muy utilizados en los países asiáticos entre los que se destaca por su superioridad técnica, el código QR o Quick Response code.
Este fue creado en el año 1994 por una empresa japonesa, para el inventariado de autopartes y luego se expandió a diversas áreas y aplicaciones ya que para su decodificación no se requiere de lectores láser ni de ninguna tecnología inaccesible al usuario común, más que una simple cámara fotográfica - como la de un celular- y un programa sencillo. Gracias a esto, ofrecen una alternativa económica y práctica a otras tecnologías como el RFID.
El advenimiento de múltiples dispositivos móviles con acceso a Internet y cámara generó otros usos a partir del concepto de hardlinking, por el cual elementos físicos actúan como vínculos a contenidos virtuales. Algunas aplicaciones a partir de este concepto pueden ser: la inclusión de un código en una tarjeta de negocios con los datos de la persona que permite guardarlos en la agenda de un teléfono celular de forma automática, con una simple toma fotográfica de la tarjeta; en carteles publicitarios y notas de diarios o revistas para acceder directamente al sitio de Internet desde el celular, entre otras utilidades posibles.
Pretratamiento de la imagen
El surgimiento de usos alternativos tuvo como consecuencia la aparición de nuevos problemas como la heterogeneidad del hardware y la imposibilidad de controlar el ambiente de lectura, que hacen imposible lograr un software funcional basado únicamente en las especificaciones de la norma ISO que define el algoritmo de decodificación. Es necesario, entonces, realizar un pretratamiento de la imagen para corregir los defectos detectados y poder extraer la información exitosamente.
Al experimentar con distintos programas de decodificación existentes, se llegó a la conclusión de que existen dos problemas principales a solucionar, a fin de facilitar la experiencia del usuario y lograr la masificación de esta tecnología.
En primer lugar, existen amplios problemas con la iluminación del ambiente en el cual se desea decodificar. Dado que se pretende utilizar estos códigos en todo tipo de lugares y situaciones, luego de probar con distintas alternativas, desarrollamos un algoritmo que actúa según la condición de iluminación y permite decodificar la imagen correctamente.
El segundo problema detectado fue el de la rotación y la perspectiva. Si bien, el código es de lectura omnidireccional, por lo que puede ser leído con cualquier ángulo de rotación, solo contempla rotaciones en el plano y en múltiplos de 90 grados. Para que el usuario pueda decodificar el código sin tener que preocuparse por alinear la cámara con el código elaboramos un algoritmo que logra reconocer la nueva orientación de la imagen para luego enderezarla.
Estos nuevos algoritmos permiten decodificar QR bajo cualquier circunstancia de iluminación y sin tener que apuntar minuciosamente el lector. De esta manera, se logró implementar un programa decodificador con una tasa de éxito muy superior a la de los programas actualmente disponibles. Si bien el mismo fue desarrollado en PC, estamos trabajando para portarlo a plataformas móviles (celulares 3G), a fin de tener un lector utilizable para fines de año o principios de marzo.