ES2612884T3 - Método y sistema para detectar un código de barras en 2D en una etiqueta circular - Google Patents
Método y sistema para detectar un código de barras en 2D en una etiqueta circular Download PDFInfo
- Publication number
- ES2612884T3 ES2612884T3 ES13770861.6T ES13770861T ES2612884T3 ES 2612884 T3 ES2612884 T3 ES 2612884T3 ES 13770861 T ES13770861 T ES 13770861T ES 2612884 T3 ES2612884 T3 ES 2612884T3
- Authority
- ES
- Spain
- Prior art keywords
- region
- substantially circular
- circular
- crown
- data matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1456—Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
Un método para determinar con un sistema de procesamiento digital, la posición de una matriz de datos rectangular dentro de una región sustancialmente circular, estando posicionada la matriz de datos dentro de una porción predeterminada de una región de la corona circular, estando definida la región de la corona circular por un círculo interior y por un círculo exterior que tienen el centro sustancialmente coincidente con el centro de la región sustancialmente circular, siendo identificada la porción predeterminada de la región de la corona circular por al menos una marca visual, incluyendo el método los pasos de: - adquisición de una representación digital de la región (1903) sustancialmente circular; - determinación del centro de la región (1905) sustancialmente circular; - construcción de un área (1907) del anillo detector que incluye los círculos interior y exterior; - escaneo radial del área del anillo detector para identificar al menos una marca visual (1909) indicativa de la posición inicial de la porción predeterminada de la región de la corona circular; - comenzando desde la posición inicial, escaneo del área del anillo detector para determinar la posición del límite de la matriz de datos (1911).
Description
5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Metodo y sistema para detectar un codigo de barras en 2D en una etiqueta circular Campo de la tecnologia
La presente invencion se refiere a un metodo y a un sistema para leer un codigo de barras, En particular la presente invencion se refiere a un metodo y a un sistema para localizar un codigo de barras (por ejemplo un codigo de barras en 2D) situado en una region circular, particularmente en una etiqueta circular.
Antecedentes
El problema del escaneo de codigos de barras se puede aplicar a una gran variedad de contextos de aplicacion. En la presente solicitud, sin perdida de generalidad, concretamente abordamos un ejemplo espedfico en la ingeniena de un lector de codigo de barras en un sistema electromecanico para el analisis biologico. En particular, el sistema lector de codigo de barras ha sido implementado en el Sistema de Ensayo de Inmunodiagnostico Vitek fabricado y distribuido por bioMerieux tambien conocido como VIDAS® o VIDAS® 3 en su version mas reciente. Es un inmunoanalizador multiparametrico automatizado compacto que usa tiras reactivas desechables dispensadas previamente y recipientes de Fase Solida recubiertos especialmente (SPR®). El VIDAS® 3 puede pipetear directamente desde el tubo de muestra primario, mezclar, incubar, controlar y analizar las muestras.
El VIDAS® 3 tiene cuatro secciones independientes, donde cada seccion puede tener hasta 3 muestras. Caractensticas adicionales permiten al VIDASr 3 llevar a cabo automaticamente el manejo de muestra desde los tubos primarios. El operador introduce los SPRR , tubos destapados, centrifugados y tiras dentro del instrumento. Todas las operaciones restantes (lectura del codigo de barras de los tubos primarios y la aspiracion de muestra desde los tubos primarios) son manejadas automaticamente por el sistema. El procesamiento de las tiras reactivas VIDAS® 3, los algoritmos, el analisis y el kit de componentes usados (tiras, SPR®, etc.) son todos identicos a los actuales VIDAS® y mini VIDAS®. Como los VIDAS® y mini VIDAS®, los VIDAS® 3 ofreceran un lote de rutina o una prueba de acceso aleatorio (mezclada) para serologfa, inmunoqmmica, deteccion de antfgeno e inmunohemostasis. Los metodos inmunologicos son EIA indirectos, la inmunocaptura, el sandwich o competicion, implicando todos un conjugado que utiliza la fosfatasa alcalina. Como el VIDAS® y mini VIDAS®, el VIDAS® 3 usa protocolos de instrumentos como se definen para cada producto de ensayo. Estos protocolos son automaticamente seleccionados en la base del conocimiento informatico a traves de la informacion contenida en el codigo de barras en el embalaje del producto. El usuario confirma la seleccion del ensayo a traves de menus de usuario. Los resultados de las pruebas se transmiten al ordenador para ser analizados e impresos.
El sistema es capaz de ejecutar simultaneamente multiples analisis, los cuales comprenden secuencias de acciones realizadas en la muestra mediante componentes mecanicos compartidos; la duracion maxima de cada analisis esta limitada por restricciones biologicas, pero se permiten los tiempos de espera entre las acciones subsecuentes oscilen dentro de un intervalo no determinista. Cada tipo de analisis biologico se compone de una fase de tratamiento previo y un protocolo analftico. Al inicio del analisis, un tubo de ensayo en forma de cono identificado unicamente por un codigo de barras contiene la muestra, otros tubos dispuestos como una tira de multiples contenedores, contienen fluidos de dilucion e incubacion. Durante la fase de tratamiento previo, una pipeta automatica vierte repetidamente la muestra entre los distintos tubos, cada accion de la pipeta dura una cantidad determinista de tiempo. Los tiempos de espera se permiten entre acciones sucesivas, pero se limitan a oscilar entre unos valores mmimos y maximos determinados por los periodos de incubacion/reaccion y las propiedades de deterioro de la muestra. Despues de la finalizacion de la fase de tratamiento previo, al protocolo analftico le sigue una secuencia fija de pasos durante los cuales la muestra se combina con reactivos y multiples medidas son tomadas por una cabeza de lectura.
Tambien en este caso, las acciones de la cabeza de lectura son deterministas e intercaladas con tiempos de espera (vease la Fig. 1). Para la explotacion eficiente de los componentes electromecanicos, se llevan a cabo simultaneamente multiples analisis, tambien de diferentes tipos,. Con este fin, el sistema compone multiples secciones, una por cada analisis. Cada seccion es a su vez dividida en ranuras, que llevan diferentes muestras que pueden ser sometidas a diferentes tratamientos previos y pueden operar en muestras de diferentes sujetos . Sin embargo, ya que la cabeza de lectura esta disenada para tomar medidas en toda una seccion a la vez, todas las ranuras de la misma seccion son limitadas a ejecutar el mismo protocolo analftico (vease la Fig.2).
La pipeta y la cabeza de lectura se comparten entre las diferentes ranuras y secciones y no pueden ser usadas simultaneamente por dos analisis diferentes.
En cada analisis biologico, es por supuesto esencial que el cono correcto coincida con la tira correcta. La insercion de los conos y de las tiras en la maquina se hace normalmente a mano por un operador. La disposicion con multiples secciones y ranuras hace incluso mas facil cometer un error en la posicion del par cono/tira. Se han puesto en lugar varios metodos de enfatizar la coincidencia entre los dos componentes coincidentes (por ejemplo el mismo color en el cono y la tira), para facilitar la operacion del operador humano. Sin embargo, para estar seguro de que los analisis se realizan correctamente, la maquina debena ser proporcionada mejor con un mecanismo de reconocimiento automatico para evitar cualquier error humano. El lector de codigo de barras parece ser una de las posibles soluciones, con un codigo de barras (por ejemplo un codigo de barras en 2D) en el tubo en forma de cono y
5
10
15
20
25
30
35
40
45
50
55
un codigo de barras en la tira; sin embargo la forma particular de los conos plantea algunos problemas en la localizacion automatica y lectura del codigo de barras en la etiqueta circular en la parte superior del cono (vease la figura 3). Los metodos y software conocidos de reconocimiento de imagen son bastante costosos en terminos de consumo de recursos y tiempo. Una dificultad adicional del presente sistema es la posible inclinacion del lector de codigo de barras con respecto a la etiqueta circular que lleva el codigo, debido al posicionamiento relativo de los distintos componentes de la maquina que no permiten un alineamiento recto entre el lector y el objetivo. El metodo y los sistemas de la tecnica anterior, por ejemplo aquellos descritos en el documento EP1143372 o US2006/0269136 no ayudan en la identificacion de la posicion de un codigo de barras en 2D en una etiqueta en forma circular de manera rapida y fiable. Una solucion simplificada, mas rapida y con un menor consumo de recursos de hardware sena por lo tanto muy deseable.
Objetos de la descripcion
Es un objeto de la presente descripcion superar al menos algunos de los problemas asociados con la tecnica anterior.
Ademas un objeto de la presente invencion es proporcionar un metodo para identificar la posicion de una imagen de un codigo de barras en 2D en una etiqueta sustancialmente circular de manera rapida y fiable.
Otro objeto de la invencion es proporcionar un aparato electromecanico para realizar los analisis biologicos teniendo un lector de codigo de barras capaz de localizar y leer una imagen de un codigo de barras en 2D en una etiqueta sustancialmente circular.
Compendio
La presente descripcion proporciona un metodo de programacion como se presenta en las reivindicaciones adjuntas.
Segun una primera realizacion, la presente descripcion proporciona un metodo para determinar con un sistema digital de procesamiento de imagen, la posicion de una matriz de datos rectangular dentro de una region sustancialmente circular, estando la matriz de datos posicionada dentro de una porcion predeterminada de una region de corona circular, estando definida la corona circular por un cfrculo interior y por un cfrculo exterior que tienen el centro sustancialmente coincidentes con el centro de la region sustancialmente circular, siendo identificada la porcion de la region de la corona circular por al menos una marca visual, incluyendo el metodo los pasos de: adquisicion de una representacion digital de la region sustancialmente circular; determinacion del centro de la region sustancialmente circular; construccion de un area del anillo detector que incluya los drculos interior y exterior; escaneo radial del area del anillo detector para identificar al menos una marca visual indicativa de la posicion inicial de la porcion predeterminada de la region de la corona circular; comenzando desde la posicion inicial, escaneo del area del anillo detector para determinar la posicion de la frontera de la matriz de datos.
En una realizacion preferida de la presente descripcion la porcion predeterminada de una region de la corona circular se incluye en un segmento circular, excediendo el contraste mmimo entre el segmento circular y el resto de la region sustancialmente circular un umbral predeterminado y al menos una marca visual esta representada por una posicion donde la region de la corona circular interseca la cuerda que define el segmento circular.
Tambien en una realizacion preferida, la matriz de datos representa un codigo de barras en 2D y el fondo del segmento circular donde la matriz de datos esta posicionada es negro. Ventajosamente el area cubierta por el segmento circular es como mucho un 90% del area total de la region sustancialmente circular, preferiblemente como mucho un 70% y mas preferiblemente como mucho un 50%. De una manera mas preferible, el area cubierta por el segmento circular es menor del 50% del area total de la region sustancialmente circular. Una de las ventajas de tener un segmento circular parcial comparado a la region sustancialmente circular es que se puede incluir informacion distinta de la informacion del codigo de barras en el area diferente de la region circular. Otra ventaja es que un segmento circular mas pequeno facilita su lectura y asf el hallazgo del codigo de barras en 2D.
Tambien en una realizacion preferida que adquiere una representacion digital se incluye la captura mediante un sistema digital de procesamiento de imagen de una imagen rectangular en blanco y negro que incluya la region sustancialmente circular, incluyendo la imagen rectangular un conjunto de pfxeles teniendo cada pixel un nivel de gris y almacenando la representacion dentro del procesamiento digital de imagen. El paso de determinacion del centro de la region sustancialmente circular incluye: la identificacion del borde de la region sustancialmente circular dentro de la imagen rectangular; la determinacion del centro de la region sustancialmente circular con respecto al borde identificado. En una realizacion de la presente invencion, la identificacion del borde de la region sustancialmente circular incluye: el escaneo horizontal de la imagen rectangular para identificar un punto de transicion donde la diferencia entre el nivel de gris de los pfxeles vecinos esta excediendo un valor predeterminado, siendo el punto de transicion horizontal indicativo de un borde lateral de la region sustancialmente circular; el escaneo vertical de la imagen rectangular para identificar un punto de transicion donde la diferencia entre el nivel de gris de lo pfxeles vecinos esta excediendo un valor predeterminado, siendo el punto de transicion vertical indicativo de un borde vertical de la region sustancialmente circular.
Ventajosamente el paso de construccion de un area del anillo detector incluye la determinacion de una corona circular incluida entre un radio interno y un radio externo con respecto al centro de la region sustancialmente circular.
5
10
15
20
25
30
35
40
45
50
55
Segun otro aspecto de la presente descripcion, se proporciona un programa de ordenador, que incluye medios de codigo de programa los cuales, cuando se ejecutan en un ordenador implementan el metodo anterior.
Segun otra realizacion, proporcionamos un sistema para determinar, con un sistema digital de procesamiento de imagen, la posicion de una matriz de datos rectangular dentro de una region sustancialmente circular, siendo la matriz de datos posicionada dentro de una region de corona circular predeterminada y dentro de un segmento circular de la region sustancialmente circular, teniendo la region circular una oscuridad minima de fondo mayor que un determinado umbral, siendo la region de la corona circular definida por un cfrculo interior y por un cfrculo exterior que tienen el centro sustancialmente coincidente con el centro de la region sustancialmente circular, incluyendo el sistema uno o mas componentes adaptados para realizar los pasos del metodo anterior.
Segun una realizacion adicional de la presente descripcion proporcionamos un sistema de lectura de codigo de barras que incluye el sistema anterior para determinar la posicion de una matriz de datos rectangular dentro de una region sustancialmente circular. Tambien se proporciona un sistema electromecanico para realizar analisis biologicos, que incluyen el sistema lector de codigo de barras.
La presente invencion ofrece un numero de beneficios. Una de las ventajas de una realizacion preferida de la presente invencion es que un software de reconocimiento de imagen simplificado, que consume bajos recursos aborda la necesidad de la identificacion, localizacion y lectura de un codigo de barras en una etiqueta en forma circular.
Breve descripcion de los dibujos
Se hara ahora referencia, a modo de ejemplo, a los dibujos adjuntos, en los cuales:
La Figura 1 es una representacion esquematica de la arquitectura ffsica de los componentes del sistema que ejecutan un analisis unico en un aparato electromecanico para realizar pruebas biologicas;
La Figura 2 es una representacion esquematica, de la arquitectura ffsica del sistema general que compone multiples analisis en las ranuras y secciones en un aparato electromecanico para realizar pruebas biologicas segun una realizacion de la presente invencion;
La Figura 3 es una representacion esquematica del posicionamiento relativo del dispositivo detector y del objetivo, el cual esta inclinado con respecto al eje perpendicular que pasa a traves del centro del dispositivo detector.
Las Figuras 4 a 18 muestran varias etapas y aspectos del metodo segun una realizacion preferida de la presente invencion;
La figura 19 muestra un diagrama de flujo de los pasos del metodo segun una realizacion preferida de la presente invencion;
Descripcion detallada de las realizaciones preferidas
La disposicion de un dispositivo detector (por ejemplo una camara que incluye un sensor 101 y una lente 103) que esta inclinada con un angulo 6 (por ejemplo 35°) con respecto al objetivo 105 se representa en la Figura 3. El objetivo, en el presente ejemplo, es una etiqueta circular que lleva un codigo de barras que se aplica en la parte superior de un tubo en forma de cono. Dicho tubo debe coincidir con una tira correspondiente como se menciono anteriormente. La tarea a realizar por el sistema que implementa una realizacion de la presente descripcion es adquirir la imagen representada en la etiqueta objetivo 105, localizar el codigo de barras (por ejemplo un codigo de barras en 2D) y leer la informacion contenida en el codigo de barras. Dicha informacion puede luego usarse para verificar la correcta coincidencia entre el cono y la tira. Mas generalmente el problema abordado por la presente descripcion es el de la lectura de un codigo de barras en una etiqueta circular, la cual puede estar posiblemente en un plano inclinado con respecto a la lmea perpendicular desde el dispositivo detector y el objetivo. Un codigo de barras en 2D se representa normalmente con una Matriz de Datos, esto es, un matriz bidimensional consistente en “celdas” blancas y negras o modulos dispuestos en un patron cuadrado o bien rectangular. La informacion que ha de ser codificada puede ser texto o datos brutos.
El dispositivo detector se controla mediante un ordenador o microprocesador que tiene un codigo integrado en el firmware; por ejemplo, en el ejemplo practico aqrn descrito, el microprocesador es un procesador basado en un nucleo ARM9, que ejecuta a 400 Mhz principalmente dirigido para aplicaciones multimedia y de baja potencia. Este procesador es necesario para proporcionar suficiente capacidad para adquirir la imagen y decodificar el codigo de la Matriz de Datos (DMTX). El microprocesador se equipa con una memoria FLASH, RAM y EEPROM: la memoria FLASH se usa para almacenar la aplicacion y el codigo FW; la memoria RAM se usa para ejecutar el codigo y almacenar tanto la informacion de la imagen como informacion temporal durante el proceso de decodificacion de la Matriz de Datos. La memoria EEPROM se usa para almacenar datos relevantes tales como los parametros de la camara a bordo o datos de calibracion. Dicho ordenador ejecuta un software que procesa la imagen capturada mediante el dispositivo 101 de deteccion el cual, en una realizacion preferida de la presente descripcion, esta montado a bordo. En una realizacion preferida de la presente descripcion el software incluye un Algoritmo de Decodificacion de la Matriz de Datos (DdA) el cual es capaz de decodificar una Matriz de Datos (DMTX) de un tamano fijo (por ejemplo una densidad de codigo de 8x18 cuadrados con cualquier tamano de lado de elemento
5
10
15
20
25
30
35
40
45
50
55
unico de 5mils (0,127 mm) con ECC200. El ECC200 es una version reciente de la Matriz de Datos y soporta algoritmos de comprobacion y correccion de errores de codificacion avanzados. El ECC200 permite la reconstruccion de la rutina de la cadena de datos codificados completa cuando el s^bolo ha sufrido hasta un 30% de dano, asumiendo que la matriz puede aun ser localizada con exactitud. La distancia de trabajo optima, entre el dispositivo detector y el plano del objetivo esta comprendida entre 106 mm y 98 mm, por ejemplo, l02,5 mm como en el presente ejemplo. En una realizacion de la presente descripcion la placa con el dispositivo 101 de deteccion esta posicionada con un angulo de 35 grados con respecto al eje perpendicular del plano objetivo (y la etiqueta circular).
En una realizacion de la presente descripcion el dispositivo detector incluye una camara (por ejemplo OmniVision OV9121 B&W con un sensor CMOS 1280x1024 (SxGa), equipada con lente por ejemplo lente estandar de 16 mm. Sobre la lente hay una apertura mecanica y fija que permite una mayor Profundidad de Campo (DOF). La DOF es la distancia entre los objetos mas cercanos y mas lejanos en una escena que aparecen aceptablemente mtidos en una imagen. Aunque una lente puede enfocar con precision solo en una distancia a la vez, la disminucion de la nitidez es gradual en cada lado de la distancia enfocada, por lo que dentro de la DOF, la falta de nitidez es imperceptible bajo condiciones de vision normales. En las siguientes figuras podemos ver la apertura en accion. La Figura 4A esta adquirida sin una apertura mecanica. El enfoque disminuye saliendo desde el centro de la imagen: DMTX esta borroso. La Figura 4B esta adquirida con una apertura mecanica y toda la etiqueta circular (tambien referida en lo siguiente como DOT) tiene un enfoque correcto.
La iluminacion es tambien un aspecto cntico para crear una inspeccion visual de buena calidad, robusta y oportuna: el sistema segun una realizacion preferida de la presente descripcion monta seis LED rojos alrededor de la lente del cuerpo de la camara para iluminar la DOT.
En una realizacion preferida de la presente descripcion, el software de reconocimiento de imagen recortara una porcion de la imagen para conseguir una imagen resultante de 512 x 512 pfxeles. Para un correcto analisis, la DOT debe ser completamente interna del area capturada por la camara. La Figura 5A representa un ejemplo donde la DOT esta desplazada a la izquierda con respecto al centro esperado, mientras la Figura 5B muestra un ejemplo donde la DOT esta razonablemente centrada.
El procesamiento de imagen comienza con la fijacion de un puntero al primer pixel de la imagen el cual: corresponde al primer byte del conjunto (o matriz) y esta en la parte superior izquierda de la imagen. No hay ninguna copia de la imagen porque cuesta muchos milisegundos, alrededor de 200 ms, por lo que el sistema usa directamente una memoria intermedia llenada por el firmware principal. La Figura 6 muestra la direccion convencional de los ejes XY en una imagen.
El sistema tiene un intervalo de flexibilidad para decodificar correctamente la DMTX. Este intervalo puede ser calculado aproximadamente mediante la variacion de la distancia entre la camara y la DOT. En la realizacion preferida del presente ejemplo, la DOT es normalmente legible a la distancia nominal (102,5 mm) +3 mm/- 4 mm con un angulo de lectura de alrededor de 35°. El sistema puede leer correctamente la DMTX a distancias mayores o menores pero, en estos casos, otras variables (posicion, rotacion, distorsion, desenfoque) podnan afectar al resultado final. En la inspeccion visual el fondo tambien es un aspecto cntico; la escena final debe ser similar a la obtenida durante una prueba de ajuste.
Un ejemplo de las condiciones de la prueba de ajuste (usadas en la presente realizacion) es el siguiente:
- iluminacion no mayor que 150 lux;
- fondo fuera del objetivo (DOT) tan oscuro y uniforme como sea posible. Segun una realizacion preferida el fondo se puede considerar uniforme si no hay zonas donde el nivel de gris detectado (gl) entre dos pfxeles vecinos excede un umbral predeterminado, por ejemplo. 10gl en caso de un borde ascendente o descendente y 5gl en caso de picos. Los terminos ”borde ascendente/descendente”, “pico” y “deteccion de pico” estan referidos a su significado tal y como se usa en el campo de procesamiento de la imagen.
- preferiblemente la imagen del objetivo (DOT) debena estar sustancialmente en el centro de la imagen con un tamano de 512x512 pfxeles; sin embargo para que el algoritmo funcione es suficiente que toda la imagen este dentro del lfmite de la ventana y preferiblemente el lfmite de la DOT debena estar a alrededor de 10 pfxeles desde el lfmite de la ventana.
Si esto cambia drasticamente, la funcionalidad del sistema podna verse comprometida, especialmente en un analisis de “DOT perdida”. Para encontrar una “DOT perdida”, el sistema implementa una funcion del histograma acumulativo que recopila todos los valores de pfxeles agrupados en 16 secciones.
- Seccion 0: valor de nivel de gris desde 0 a 15
- Seccion 1: valor de nivel de gris desde 16 a 32
- Seccion 2: valor de nivel de gris desde 33 a 48
y asf hasta
- Seccion 16: valor de nivel de gris desde 241 a 256
Despues de que el histograma se complete, para verificar la presencia de la DOT solo hay que comparar el ultimo valor con un umbral. Las Figuras 7A y 7B son representaciones graficas del histograma. La Figura 7A muestra un ejemplo de DOT perdida, mientras que la Figura 7B muestra un ejemplo de presencia de DOT.
5 Para encontrar la DOT en la imagen y la posicion de la DMTX (la cual esta dentro de la DOT) el sistema implementa una serie de funciones que:
- Encuentran el borde de la DOT y el centro de la DOT;
- Aplican a la imagen un conjunto de mascaras en forma de anillo (alineadas respecto al centro de la DOT);
- Buscan la DMTX dentro del anillo seleccionado.
10 Una funcion llamada BuscarCentroAnillo busca y encuentra el centro de la DOT a traves de 5 perfiles izquierdos, 5 perfiles derechos y un escaneo diagonal de fondo. El perfil generalmente se usa para hacer un promedio de un numero espedfico de pfxeles y esta es la manera de coger un mejor borde ascendente o descendente.
- Los primeros 5 perfiles horizontales izquierdos buscan el lado izquierdo de la DOT.
- Los segundos 5 perfiles horizontales derechos buscan el lado derecho de la DOT.
15 - El ultimo escaneo busca el lado del fondo de la DOT mediante 7 perfiles radiales comenzando desde el fondo de la
imagen.
1. El sistema encuentra el borde izquierdo de la DOT seleccionando el mejor perfil de 5, esto es, haciendo el escaneo de 5 perfiles centrados verticalmente en la imagen. Para cada uno de estos perfiles el sistema integra 5 pfxeles verticales para cada coordenada X, comenzando desde la coordenada x=10 hasta el centro de la imagen.
20 Los 5 niveles verticales de gris (gl) se almacenan en un conjunto para ser analizados, no comparando sus valores con un umbral global fijo sino de manera relativa. El analisis relativo se hace mediante la comparacion de la diferencia entre un valor I y un valor (I+6) (esto es desplazado en 5 posiciones) con un valor absoluto de referencia predeterminado. Si la diferencia excede dicho valor de referencia (por ejemplo 10gl), asumimos que hay un borde y por lo tanto el lfmite izquierdo de la DOT. De tal manera tomamos en consideracion solo los bordes reales con una 25 minima profundidad (por ejemplo el borde ascendente cuando la transicion va de negro a blanco o el borde descendente en el caso contrario), excluyendo los bordes que son demasiado delgados. Si los bordes son mas estrechos que un umbral predeterminado, las transiciones positivas (o negativas) son inmediatamente seguidas de una transicion de signo contrario: llamamos a estos “picos” y el valor de referencia absoluta para la deteccion es menor (por ejemplo 5) que para los bordes.
30 Asf , segun el presente ejemplo, el sistema detectana un borde ascendente cuando se verifica la siguiente relacion: gl(x+6)-gl(x) > 10
(de manera similar un borde descendente sena identificado si gl(x+6)-gl(x) < -10).
Cuando un pico se encuentra ambas relaciones siguientes se respetan: gl(x+6)-gl(x) >5 Y gl(x+6)-gl(x+12) < -5
35 De los 5 perfiles horizontales el sistema almacena en una memoria las coordenadas x del borde detectado. La coordenada x mas a la izquierda se toma como el borde izquierdo de la DOT.
2. El borde derecho de la DOT se determina siguiendo un algoritmo similar que para el borde izquierdo. Una vez determinamos los bordes izquierdo y derecho, podemos derivar el diametro de la DOT y este valor sera usado en los siguientes pasos.
40 3. El DDA encuentra el borde inferior de la DOT a traves de 7 escaneos de borde. A traves del analisis del lado
izquierdo y del lado derecho el DDA conoce el centro horizontal de la DOT. Asf, para encontrar la coordenada vertical del centro de la DOT, escanea la imagen desde y=512 a un nivel predeterminado de la imagen, el cual en la presente implementacion es de mitad de la altura =258, pero otros niveles podnan ser usados en su lugar, por ejemplo tres cuartos de la altura: (512 / 4) * 3 =384 pfxeles. Finalmente el DDA busca un borde ascendente con un 45 valor sobre 10. Este algoritmo basicamente sigue los mismos pasos del metodo descrito para los bordes izquierdo y derecho usando las mismas funciones de deteccion de borde ascendente/descendente (por ejemplo excediendo el umbral predeterminado de 5gl). Al final del escaneo el sistema elige la coordenada Y mas baja de entre los 7 perfiles.
La Figura 8 muestra 10 perfiles horizontales (perfiles izquierdo y derecho representados en gris) y los 7 escaneos 50 inferiores (representados con lmeas blancas).
5
10
15
20
25
30
35
40
45
50
Con el borde izquierdo, derecho e inferior el sistema puede ahora calcular las coordenadas XY del centro de la DOT y su radio aproximado. El siguiente paso permite determinar todos los punteros circulares (direcciones) gracias al seno y coseno pre-calculados para el posterior analisis con el radio encontrado. Este paso se realiza mediante una funcion CalcularPuntosAnillo la cual calcula previamente todos los punteros desde -20 hasta 360+20°. Esta inclinacion adicional (+/-20°) permite interceptar la DMTX cuando esta cerca de 0° o 360°. EL calculo previo descrito anteriormente es un truco complicado pero una manera eficiente para ahorrar tiempo durante el procesamiento de imagen posterior. El sistema para encontrar la posicion de la DMTX, implementa una funcion llamada EscanearPerfilAnillo, la cual, comenzando desde una posicion predeterminada de la corona circular (por ejemplo la posicion EST como referencia de 0°) y siguiendo una rotacion en el sentido de las agujas del reloj , realiza un escaneo radial a lo largo de todo el perfil de la corona circular usando los puntos anteriores calculados previamente .
Como veremos mejor con referencia a la Figura 10c (resaltada por dos lmeas verticales) la posicion de la DMTX dentro de la corona siempre se caracteriza por un area con varios cambios de los valores de gl delimitada por dos areas con un valor de gl muy bajo debido al area negra donde la DMTX es posicionada (impresa). El sistema, que detecta estas areas dentro de la zona negra, es capaz de interceptar la DTMX.
Para realizar algunos ajustes de la estimacion de la posicion en el eje Y de la DOT (debido por ejemplo a la presencia de ruidos de imagen) hay un bucle que permite seis escaneos con anillos (o coronas) circulares diferentes:
- Corona 1: esta desplazada en el eje Y de Y=(centro - 20 pfxeles)
- Corona 2: esta desplazada en el eje Y de Y=(centro - 10 pfxeles)
- Corona 3: esta centrada en el eje Y
- Corona 4: esta desplazada en el eje Y de Y=(centro + 10 pfxeles)
- Corona 5: esta desplazada en el eje Y de Y=(centro + 20 pfxeles)
- Corona 6: esta desplazada en el eje Y de Y=(centro + 30 pfxeles)
En otras palabras, la primera Corona se posiciona en la DOT en la coordenada Y determinada (CentroY) menos 20 pfxeles, esto es Y=CentroY-20; la segunda corona se posiciona en Y=CentroY-10; la tercera en Y=CentroY; la cuarta en Y=CentroY+10; la quinta en Y=CentroY+20 y la sexta en Y=CentroY+30.
Las Figuras 9A-9F muestran5 ejemplos de coronas, mientras que las figuras 10A-10F representan graficamente sus correspondientes perfiles radiales:
- La Corona 1, mostrada en la Figura 9A, se representa como un perfil radial en la Figura 10A combinada con la Corona 3 (Fig. 9C). La Corona 1 se muestra junto con la Corona 3 ya que la Corona 3 ha sido determinada por el algoritmo como la mejor eleccion, esto es, la corona donde mas probablemente este incluida la Matriz de Datos.
- La Corona 2, mostrada en la Figura 9D se representa como un perfil radial en la Figura 10B combinada con la Corona 3. La Corona 2 se muestra junto con la Corona 3 la cual ha sido determinada por el algoritmo como la mejor eleccion, esto es, la corona donde mas probablemente este incluida la Matriz de Datos.
- La mejor Corona, (en este caso la Corona 3) como la elegida por el algoritmo se representa en la Figura 10C y se resalta por las dos lmeas verticales.
- La Corona 4, mostrada en la Figura 9D, se representa como un perfil radial en la Figura 10D combinada con la Corona 3. La Corona 4 se muestra junto con la Corona 3 la cual ha sido determinada por el algoritmo como la mejor eleccion, esto es, la corona donde mas probablemente este incluida la Matriz de Datos.
- La Corona 5, mostrada en la Figura 9E, se representa como un perfil radial en la Figura 10E combinada con la Corona 3. La Corona 5 se muestra junto con la Corona 3 la cual ha sido determinada por el algoritmo como la mejor eleccion, esto es, la corona donde mas probablemente este incluida la Matriz de Datos.
- La Corona 6, mostrada en la Figura 9F, se representa como un perfil radial en la Figura 10F combinada con la Corona 3. La Corona 6 se muestra junto con la Corona 3 la cual ha sido determinada por el algoritmo como la mejor eleccion, esto es, la corona donde mas probablemente este incluida la Matriz de Datos.
El sistema, para encontrar la posicion de la DMTX implementa una funcion llamada AnalizarPerfilAnillo que analiza los datos recogidos por la funcion EscanearPerfilAnillo en las seis coronas. Con estos seis escaneos el sistema puede elegir la mejor corona que esta mas cerca de la Matriz de Datos. Para seleccionar la mejor corona el algoritmo analiza los datos calculando:
- un acumulador de nivel de gris de los 20 pfxeles de longitud de la base izquierda (BaseSx)
- un acumulador de nivel de gris de los 20 pfxeles de longitud de la base derecha (BaseDx)
5
10
15
20
25
30
35
40
45
- un acumulador de nivel de gris de los 46 pfxeles de longitud de la DMTX (BaseDM)
Para todos los grados del escaneo radial el algoritmo comprueba estas condiciones:
-1) los acumuladores BaseSx + BaseDx deben ser los mas pequenos para todos los 360 grados ;
- 2) el acumulador BaseDM debe ser mayor que un umbral;
- 3) la diferencia entre el BaseSx y el BaseDx debe ser menor que un umbral predeterminado, por ejemplo 500;
- 4) el acumulador BaseDM medio +0.25% debe ser mayor que un valor de referencia predeterminado RV el cual es el menor valor en la zona negra que rodea la DTMX detectada durante cada perfil de escaneo de corona;
- 5) el BaseSx y el BaseDx deben ser menores que el doble del valor de referencia RV
Todas las condiciones anteriores permiten determinar el mejor punto correspondiente a la coordenada angular donde podemos encontrar la Matriz de Datos.
En la Figura 10C podemos ver como la Matriz de Datos se situa entre dos zonas oscuras (zona tranquila), tiene una altura espedfica que corresponde al contraste de micro puntos blancos, tiene una anchura espedfica (alrededor de 46 puntos con 20 puntos oscuros en la derecha y en la izquierda), Cuando se detecta la Matriz de Datos dentro del grafico se dibujan dos lmeas verticales en correspondencia del mejor punto.
La transformada de Hough
El proposito de la transformada de Hough es realizar agrupaciones de puntos de borde a objetos candidatos mediante la realizacion de un procedimiento de votacion explfcito. Este procedimiento de votacion se lleva a cabo en un espacio de parametros, desde el cual se obtienen los candidatos objeto como un maximo local en un asf llamado espacio acumulador.
Para un punto arbitrario en el plano de la imagen con coordenadas, por ejemplo, (x0, y0), las lmeas que pasan por este son:
r(0) = x0cos 0 + y0sen 0,
donde r (la distancia entre la lmea y el origen) se determina mediante 0. Esto corresponde a una curva sinusoidal en el plano (r, 0), el cual es unico para ese punto como se representa en la Figura 11.
Regresion Lineal
La funcion de regresion lineal, tambien llamada AjusteLinea, calcula la lmea recta que pasa mas cerca de todos los puntos de entrada. La Figura 12 muestra un ejemplo del algoritmo de ajuste de lmea. Los puntos visualizados no pertenecen a la misma lmea recta, pero el modelo de regresion lineal usa la aproximacion de los mmimos cuadrados para calcular la mejor lmea
Encontrar el inicio/fin del Ancho de Lmea Base (BLW) y la Altura de Lmea Base (BLH)
En una realizacion preferida de la presente descripcion, el sistema, para aumentar la precision de la investigacion de la DMTX (por ejemplo la representada en la Figura 13), implementa dos funciones llamadas BuscarInicioFinBLW y BuscarInicioFinBLH que encuentran el comienzo y la parada del BLW y BLH. El ancho de Lmea Base (BLW) y Altura de Lmea Base (BLH) son los dos segmentos ortogonales que delimitan la DMTX rectangular y se usan normalmente para identificar la orientacion de la DTMX. Para seguir con exito las lmeas base hay cuatro pruebas. La primera prueba, acepta y analiza la BLW basicamente horizontal. Dentro de esta prueba, hay otra comprobacion para encontrar la posicion de la DMTX. El cuadrante inferior (0° a 180°) o el cuadrante superior (180° a 360°).
La segunda prueba acepta y analiza la BLW basicamente vertical. Dentro de esta prueba, hay otro control para encontrar la posicion de la DMTX, El cuadrante izquierdo (90° a 270°) o el cuadrante derecho (270° a 90°).
Esta funcion empieza con un escaneo desde el centro de la BLW y va hasta el lado externo para encontrar donde empieza o finaliza la BLW.
Para reforzar la investigacion del borde descendente (desde blanco a negro) el algoritmo compara y suma un par de tres pfxeles.
Despues de haber encontrado el mejor borde descendente, lo intenta de nuevo con una mejor precision a traves de la funcion de subpixel siempre siguiendo la direccion BLW.
La Figura 14 muestra un ejemplo para ilustrar el concepto anterior.
En el primer paso X0 el algoritmo comprueba si (gh - gh) > umbral donde:
gl1 = (xQyQ +xgy1 +xgy2) + (x-iyci +x-iy1 +x-iy2) = (200 + 205 + 203) + (205 + 207 + 204)
5
10
15
20
25
30
35
40
45
50
55
gl2 = (x2yo +X2yi +X2y2) + (x3yo +X3yi +X3y2) = (190 + 188 + 191) + (180 + 175 + 178)
En el segundo paso X1 el algoritmo comprueba siempre gl1 y gl2 pero empieza desde X1, el tercer paso empieza desde X2, y asf sucesivamente...
Para la Altura de la lmea Base la funcion BuscarInicioFinBLH encuentra el inicio y el fin de la BLH comenzando desde el centro de los puntos encontrados por la funcion previa BuscarInicioFinBLH. Una vez habiendo encontrado los puntos en la BLH, el algoritmo refina la deteccion de borde con una precision de subpixel (vease la Figure 15).
Para reforzar la investigacion del borde descendente (de blanco a negro) el algoritmo compara y suma un par de valores de tres pfxeles.
Despues de haber encontrado el mejor borde descendente, lo intenta de nuevo con mas precision a traves de la funcion subpixel, siempre siguiente la direccion del BLH.
Encontrar el reloj (patron de tiempo)
En una realizacion preferida de la presente descripcion, el sistema, para aumentar la correcta interpretacion del fin del BLW, implementa una funcion llamada BuscarBLHParalelo que busca la lmea paralela al BLH porque esta truncado o porque no hay suficiente espacio desde el blanco al negro con respecto a la zona oscura que rodea a la DTMX.
Las imagenes borrosas mostradas en las Figuras 16 y 17 representan dos ejemplos de una mala interpretacion.
El final de la BLW (interpretada por el DDA) es resaltado con una lmea discontinua
Para superar este problema hay una funcion implementada llamada BuscarBLHParalelo que busca la lmea paralela a la BLH. Este procedimiento ejecuta un perfil vertical para encontrar correctamente el fin de la DMTX resaltada con una pequena lmea en la imagen anterior. Asf, despues de haber encontrado el fin de la BLW la funcion BuscarBLHParalelo verifica y busca el fin de la DMTX. Las imagenes mostradas en la Figuras 18A, 18B y 18C representan el perfil vertical en progreso. La Figura 18C muestra con una gran cruz gris el fin correcto de la DMTX la cual esta mas a la derecha comparado con la pequena cruz gris (Figura 18A, Figura 18B).
El metodo descrito anteriormente se representa tambien en el diagrama mostrado en la figura 19. Asumiremos para el siguiente ejemplo que la Matriz de Datos (por ejemplo un codigo de barras en 2D) que ha de ser identificada (y sucesivamente escaneada y lefda) se posiciona dentro de una corona circular y un segmento circular que tiene un fondo oscuro (esto es, negro). Tecnicamente hablando esto significa que la minima oscuridad de cada pixel de una representacion digital de dicho segmento circular es mayor que un umbral predeterminado (esto es, no necesita ser realmente negro, el sistema lo considerara un fondo “negro” si todos los pfxeles proporcionados son mas oscuros que dicho umbral). Los expertos en la tecnica apreciaran facilmente que el metodo segun la presente invencion podna funcionar igualmente si el fondo es “blanco”, esto es, si la maxima oscuridad de todos los pfxeles de una representacion digital de dicho segmento circular es menor que un umbral predeterminado (esto es, no necesita ser realmente blanco, el sistema lo considerara un fondo blanco si todos los pfxeles proporcionados son mas claros que dicho umbral). Mas generalmente, el mmimo contraste entre el segmento circular y el resto de la region sustancialmente circular debe exceder un umbral predeterminado. Otras realizaciones alternativas son posibles, por ejemplo no hay necesidad de que el fondo “negro” cubra todo el segmento circular: este podna ser por ejemplo un rectangulo que rodea la matriz de datos. Incluso mas generalmente es suficiente que la porcion de corona circular que contiene la matriz de datos se pueda identificar mediante el sistema de procesamiento de imagen: como ejemplo se puede colocar una marca visual para indicar donde empieza la porcion de la corona circular que contiene la matriz de datos (esto es, la porcion que ha de ser escaneada). El segmento negro (o mejor la interseccion de la corona circular con la cuerda (o secante) que define el segmento) es una implementacion posible de dicha marca. El metodo se realiza en un sistema digital de procesamiento de imagen y pretende determinar la posicion de una matriz de datos rectangular dentro de una region sustancialmente circular (por ejemplo de una etiqueta circular), la matriz de datos que esta posicionada dentro de una region predeterminada de la corona circular y dentro de un segmento circular de la region sustancialmente circular; como se menciono anteriormente el segmento circular tiene una oscuridad minima de fondo mayor que un umbral predeterminado (o menor que un umbral predeterminado), estando definida la region de la corona circular por un cfrculo interior y por un cfrculo exterior que tienen el centro sustancialmente coincidente con el centro de la region sustancialmente circular. El metodo empieza en el cfrculo negro 1901 y luego va al 1903 donde una representacion digital de la region circular en la etiqueta es adquirida por el sistema. Obviamente, la etiqueta no requiere ser circular necesariamente; el metodo puede funcionar igualmente bien con otras formas, se incluye una region circular con las caractensticas anteriormente mencionadas. En otras palabras es suficiente que la posicion de la Matriz de Datos se pueda identificar con referencia al centro de la DOT y dentro de la corona circular y el segmento circular como se trato anteriormente. El sistema entonces procesa la imagen y en el paso 1905 el metodo segun una realizacion preferida de la presente invencion determina el centro de la DOT; los ejemplos y detalles de la manera de determinar dicho centro han sido tratados anteriormente y los expertos en la tecnica apreciaran facilmente que los distintos estados de los metodos y tecnicas se pueden usar y combinar juntos para tal proposito. En una realizacion de la presente invencion determinar el centro de la DOT incluye la identificacion del borde sustancialmente circular con un escaneo horizontal y un escaneo vertical: el escaneo horizontal pretende identificar un punto de transicion donde la diferencia entre el nivel de gris de los pfxeles
5
10
15
20
25
30
vecinos esta excediendo un valor predeterminado, siendo el punto de transicion horizontal indicativo de un borde lateral (derecho y/o izquierdo) de la region sustancialmente circular; el escaneo vertical hace los mismo para el borde vertical (borde superior y/o inferior).
En el paso 1907, un area del anillo que incluye la Matriz de Datos es entonces identificada: una vez que se determina el centro de la DOT, el area del anillo incluido dentro de un drculo interior y uno exterior se puede identificar facilmente. Dicho area del anillo intersectara en dos puntos el borde del sector circular “negro” (o “blanco”, veanse los comentarios anteriores): el paso 1909 del metodo segun una realizacion preferida de la presente invencion escanea radialmente al area del anillo para determinar una de dichas intersecciones. El escaneo se puede realizar en el sentido de las agujas del reloj o en sentido contrario: en el presente ejemplo es en el sentido de las agujas del reloj . En el paso 19l1 un escaneo radial que comienza por el borde del sector circular es realizado para identificar el borde de la Matriz de Datos, como se explico con mas detalle anteriormente.
Una vez que la posicion de la Matriz de Datos en la region circular representada digitalmente ha sido determinada la informacion llevada por la Matriz de Datos se puede leer y procesar con el estado de los metodos de la tecnica.
Se apreciara que se pueden hacer alteraciones y modificaciones a lo anterior sin salir del alcance de la descripcion. Naturalmente, para satisfacer los requisitos locales y espedficos, un experto en la tecnica puede aplicar muchas modificaciones y alteraciones a la solucion descrita anteriormente. Particularmente, aunque la presente exposicion ha sido descrita con un cierto grado de particularidad con referencia a la realizacion o realizaciones preferidas de la misma , debena ser entendido que son posibles varias omisiones, sustituciones y cambios en la forma y los detalles asf como otras realizaciones; ademas, se pretende expresamente que los elementos espedficos descritos en conexion con cualquier realizacion descrita de la descripcion pueden ser incorporados en cualquier otra realizacion como una cuestion general de eleccion de diseno.
Por ejemplo, se aplican consideraciones similares si los componentes tienen diferentes estructuras o incluyen unidades equivalentes. Tambien, debena ser facilmente entendido por los expertos en la tecnica que la presente descripcion se puede extender a cualesquiera aplicaciones que necesiten identificar la posicion de una Matriz de Datos en una region circular, siempre que la Matriz de Datos ha sido posicionada en un area del anillo predeterminada (a una distancia predeterminada desde el centro de la region circular) y dentro de un segmento circular. El area del segmento circular, en los ejemplos descritos anteriormente, se ha asumido que es mas pequena que el resto de la region circular, esto es, el area del segmento es menor que el 50% del area total de la region circular. Con dicha configuracion se optimizan las prestaciones del sistema, sin embargo el metodo de la presente invencion funcionana tambien con un segmento mas grande, que cubra mas de la mitad del area de la region circular.
Claims (15)
- 51015202530354045REIVINDICACIONES1. Un metodo para determinar con un sistema de procesamiento digital, la posicion de una matriz de datos rectangular dentro de una region sustancialmente circular, estando posicionada la matriz de datos dentro de una porcion predeterminada de una region de la corona circular, estando definida la region de la corona circular por un drculo interior y por un drculo exterior que tienen el centro sustancialmente coincidente con el centro de la region sustancialmente circular, siendo identificada la porcion predeterminada de la region de la corona circular por al menos una marca visual, incluyendo el metodo los pasos de:- adquisicion de una representacion digital de la region (1903) sustancialmente circular;- determinacion del centro de la region (1905) sustancialmente circular;- construccion de un area (1907) del anillo detector que incluye los drculos interior y exterior;- escaneo radial del area del anillo detector para identificar al menos una marca visual (1909) indicativa de la posicion inicial de la porcion predeterminada de la region de la corona circular;- comenzando desde la posicion inicial, escaneo del area del anillo detector para determinar la posicion del lfmite de la matriz de datos (1911).
- 2. El metodo de la reivindicacion 1 en donde la porcion predeterminada de una region de la corona circular esta incluida en un segmento circular, excediendo el mmimo contraste entre el segmento circular y el resto de las regiones sustancialmente circulares un predeterminado umbral y en donde al menos una marca visual esta representada por una posicion donde la region de la corona circular intersecta la cuerda que define el segmento circular.
- 3. El metodo de la reivindicacion 1 en donde la matriz de datos representa un codigo de barras en 2D.
- 4. El metodo de la reivindicacion 2 a 3 en donde el area cubierta por el segmento circular es menor que el 50% del area total de la region sustancialmente circular.
- 5. El metodo de cualquier reivindicacion 2 a 4 en donde el fondo del segmento circular donde la matriz de datos esta posicionada es negro.
- 6. El metodo de cualquier reivindicacion precedente en donde adquirir una representacion digital incluye capturar por medio de un sistema digital de procesamiento de imagen una imagen rectangular en blanco y negro que incluye la region sustancialmente circular, incluyendo la imagen rectangular un conjunto de pfxeles teniendo cada pixel un nivel de gris y almacenando la representacion dentro del procesamiento de imagen digital.
- 7. El metodo de la reivindicacion 6, en donde el paso de la determinacion del centro de la region sustancialmente circular incluye:- la identificacion del borde de la region sustancialmente circular dentro de la imagen rectangular;- la determinacion del centro de la region sustancialmente circular con respecto al borde identificado.
- 8. El metodo de la reivindicacion 7 en donde la identificacion del borde de la region sustancialmente circular incluye:- el escaneo horizontal de la imagen rectangular para identificar un punto de transicion donde la diferencia entre el nivel de gris de los pfxeles vecinos esta excediendo un valor predeterminado, siendo indicativo el punto de transicion horizontal de un borde lateral de la region sustancialmente circular.- el escaneo vertical de la imagen rectangular para identificar un punto de transicion donde la diferencia entre el nivel de gris de los pfxeles vecinos esta excediendo un valor predeterminado, siendo indicativo el punto de transicion vertical de un borde lateral de la region sustancialmente circular.
- 9. El metodo de cualquier reivindicacion precedente en donde el paso del escaneado radial del area del anillo detector incluye la realizacion de un escaneo radial en el sentido de las agujas del reloj para un angulo de mas de 360°.
- 10. El metodo de cualquier reivindicacion 3 a 9 en donde el paso del escaneado del area del anillo detector que empieza desde la posicion inicial incluye la busqueda del borde lateral del codigo de barras en 2D.
- 11. Un programa de ordenador, que incluye medios de codigo de programa, para realizar el metodo de cualquier reivindicacion precedente cuando el programa esta ejecutandose en un ordenador.
- 12. Un producto programa de ordenador que incluye medios legibles por ordenador que almacenan el programa de ordenador de la reivindicacion 11.
- 13. Un sistema para determinar, con un sistema digital de procesamiento de la imagen, la posicion de una matriz de datos rectangular dentro de una region sustancialmente circular, estando posicionada la matriz de datos dentro de una region predeterminada de la corona circular y dentro de un segmento circular de la region sustancialmente circular, teniendo el segmento circular una oscuridad minima de fondo mayor que un umbral predeterminado,5 estando definida la region de la corona circular por un cfrculo interior y por un cfrculo exterior que tienen el centro sustancialmente coincidente con el centro de la region sustancialmente circular, incluyendo el sistema uno o mas componentes adaptados para realizar los pasos del metodo de cualquier reivindicacion 1 a 10.
- 14. Un sistema de lectura de codigo de barras que incluye el sistema para determinar la posicion de una matriz de datos rectangular dentro de una region sustancialmente circular de la reivindicacion 13.10 15. Un sistema electromecanico para realizar analisis biologicos, que incluye el sistema 14 de lectura de codigo debarras.
- 16. Una etiqueta que lleva una region sustancialmente circular que incluye una matriz de datos cuya posicion debe determinarse con el metodo de cualquier reivindicacion 1-10.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12185478 | 2012-09-21 | ||
EP12185478.0A EP2711866A1 (en) | 2012-09-21 | 2012-09-21 | Method and system for detecting a 2D barcode in a circular label |
PCT/EP2013/069460 WO2014044747A1 (en) | 2012-09-21 | 2013-09-19 | Method and system for detecting 2d barcode in a circular label |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2612884T3 true ES2612884T3 (es) | 2017-05-19 |
Family
ID=47257407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES13770861.6T Active ES2612884T3 (es) | 2012-09-21 | 2013-09-19 | Método y sistema para detectar un código de barras en 2D en una etiqueta circular |
Country Status (7)
Country | Link |
---|---|
US (1) | US9292725B2 (es) |
EP (2) | EP2711866A1 (es) |
CN (1) | CN104641381B (es) |
ES (1) | ES2612884T3 (es) |
PL (1) | PL2898449T3 (es) |
PT (1) | PT2898449T (es) |
WO (1) | WO2014044747A1 (es) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10288410B2 (en) * | 2016-11-10 | 2019-05-14 | The Boeing Company | Method and system for identifying wire contact insertion holes of a connector |
CN107492091B (zh) * | 2017-07-06 | 2020-09-04 | 东莞理工学院 | 基于机器视觉的标签外观检测方法及终端设备 |
CN108256522B (zh) * | 2018-01-09 | 2020-05-19 | 北京航空航天大学 | 一种spr与波导混合吸收谱特征位置的二维识别方法 |
CN109724990B (zh) * | 2019-01-08 | 2021-08-06 | 上海大学 | 一种包装盒标签中喷码区域的快速定位与检测方法 |
CN110096920B (zh) * | 2019-04-22 | 2022-05-17 | 浙江大学滨海产业技术研究院 | 一种面向视觉伺服的高精度高速定位标签和定位方法 |
KR20220073261A (ko) * | 2020-11-26 | 2022-06-03 | 주식회사 엘지에너지솔루션 | 전지셀 제조 방법 및 파우치 성형 장치 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5798514A (en) * | 1996-01-11 | 1998-08-25 | Accumed Inc. | Circular bar code |
ATE321310T1 (de) * | 2000-04-06 | 2006-04-15 | Seiko Epson Corp | Verfahren und vorrichtung zum lesen von einem zwei-dimensionalen strichkode und datenspeichermedium |
FR2846432B1 (fr) * | 2002-10-24 | 2005-03-11 | Commissariat Energie Atomique | Cible codee et procede de photogrammetre utilisant de telles cibles |
EP1422657A1 (en) * | 2002-11-20 | 2004-05-26 | Setrix AG | Method of detecting the presence of figures and methods of managing a stock of components |
EP1904952A2 (en) * | 2005-05-23 | 2008-04-02 | Nextcode Corporation | Efficient finder patterns and methods for application to 2d machine vision problems |
US7571864B2 (en) * | 2005-12-16 | 2009-08-11 | Pisafe, Inc. | Method and system for creating and using barcodes |
-
2012
- 2012-09-21 EP EP12185478.0A patent/EP2711866A1/en not_active Withdrawn
-
2013
- 2013-09-19 PL PL13770861T patent/PL2898449T3/pl unknown
- 2013-09-19 US US14/428,761 patent/US9292725B2/en active Active
- 2013-09-19 ES ES13770861.6T patent/ES2612884T3/es active Active
- 2013-09-19 PT PT137708616T patent/PT2898449T/pt unknown
- 2013-09-19 WO PCT/EP2013/069460 patent/WO2014044747A1/en active Application Filing
- 2013-09-19 CN CN201380047988.0A patent/CN104641381B/zh active Active
- 2013-09-19 EP EP13770861.6A patent/EP2898449B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2014044747A1 (en) | 2014-03-27 |
EP2898449B1 (en) | 2016-11-09 |
PL2898449T3 (pl) | 2017-04-28 |
EP2898449A1 (en) | 2015-07-29 |
CN104641381A (zh) | 2015-05-20 |
EP2711866A1 (en) | 2014-03-26 |
US9292725B2 (en) | 2016-03-22 |
PT2898449T (pt) | 2017-02-10 |
US20150278571A1 (en) | 2015-10-01 |
CN104641381B (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2612884T3 (es) | Método y sistema para detectar un código de barras en 2D en una etiqueta circular | |
ES2870655T3 (es) | Procedimiento y aparato de posicionamiento de códigos QR | |
US11455482B2 (en) | Systems and methods for decoding two-dimensional matrix symbols with incomplete or absent fixed patterns | |
US7398928B2 (en) | Coded target and photogrammetry method using such targets | |
US9977981B2 (en) | Method and apparatus for calibrating a three-dimensional (3D) image in a tiled display | |
US11972583B2 (en) | Fluorescence image registration method, gene sequencing instrument, and storage medium | |
CN105303156B (zh) | 字符检测装置、方法及程序 | |
US9082000B2 (en) | Image processing device and image processing method | |
JP2009510571A (ja) | 図形画像内の楕円の形状および/または位置に関する情報を決定するための装置、方法およびコンピュータプログラム | |
WO2019187420A1 (ja) | 画像処理方法、画像処理装置、プログラムおよび記録媒体 | |
EP2779023A1 (en) | Systems and methods for pattern stitching and decoding using multiple captured images | |
ES2710860T3 (es) | Dispositivo de identificación de región de imagen en movimiento y método del mismo | |
JP2014215645A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
US9176588B2 (en) | System and method for discerning complex gestures using an array of optical sensors | |
US20230074386A1 (en) | Method and apparatus for performing identity recognition on to-be-recognized object, device and medium | |
KR101985658B1 (ko) | 지문 데이터 획득 방법 및 그 장치 | |
Pârvu et al. | A method for fast detection and decoding of specific 2d barcodes | |
JP6255819B2 (ja) | 計測用コンピュータプログラム、計測装置及び計測方法 | |
CN103605946B (zh) | 射频标签的扫描方法和扫描装置 | |
EP4428534A1 (en) | Magnetic bead-based detection method, storage medium, and detection device | |
JP7076361B2 (ja) | 画像処理方法、画像処理装置、プログラムおよび記憶媒体 | |
US11880738B1 (en) | Visual odometry for optical pattern scanning in a real scene | |
JP2020161106A (ja) | 情報読取装置及びプログラム | |
Varjo et al. | A mobile imaging system for medical diagnostics | |
CN117590409A (zh) | 一种动态目标定位监测方法及系统 |