[go: up one dir, main page]

ES2303566T3 - Aparato y metodo para reconocer un codigo. - Google Patents

Aparato y metodo para reconocer un codigo. Download PDF

Info

Publication number
ES2303566T3
ES2303566T3 ES02802741T ES02802741T ES2303566T3 ES 2303566 T3 ES2303566 T3 ES 2303566T3 ES 02802741 T ES02802741 T ES 02802741T ES 02802741 T ES02802741 T ES 02802741T ES 2303566 T3 ES2303566 T3 ES 2303566T3
Authority
ES
Spain
Prior art keywords
image
code
color
colors
shadow
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.)
Expired - Lifetime
Application number
ES02802741T
Other languages
English (en)
Inventor
Cheol-Ho Cheong
Nam-Kyu Lee
Tack-Don Han
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Colorzip Media Inc
Original Assignee
Colorzip Media Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Colorzip Media Inc filed Critical Colorzip Media Inc
Application granted granted Critical
Publication of ES2303566T3 publication Critical patent/ES2303566T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Communication Control (AREA)
  • Character Input (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

Un aparato para reconocer un código, cuyo aparato comprende: una parte (17) de configuración de código para establecer una relación entre el carácter, número o símbolo y el color o la sombra correspondientes; una parte (11) de adquisición de imagen para adquirir una imagen no elaborada en la que está contenida una imagen de código, cuyo aparato se caracteriza por: una parte (13) de tratamiento de imagen para discriminar de otras áreas un área de la imagen de código, extraer una pluralidad de celdas incluidas en el área de imagen de código, y reconocer el color estándar o la sombra estándar representados en cada una de las celdas, y para corregir los colores o sombras reconocidos con respecto a cada una de las celdas incluidas en el área de imagen de código, usar una variable ambiental que se configura para discriminar los colores o sombras de la imagen no elaborada teniendo en cuenta un ambiente en el que está introducida la imagen no elaborada; y una parte (15) de conversión de código para convertir los colores o sombras corregidos en una pluralidad de colores estándar o sombras estándar usados para generar la imagen de código, y para extraer un carácter, número o símbolo correspondientes del color o de la sombra reconocidos en cada una de las celdas de la imagen de código de acuerdo con la relación establecida en la parte (17) de configuración de código, para generar datos de código.

Description

Aparato y método para reconocer un código.
Campo técnico
El presente invento se refiere a un aparato para reconocer una imagen de código, que se ha expresado física o electrónicamente, y para extraer información representada en la imagen de código, y a un método para realizar dichas operaciones.
Antecedentes en la técnica anterior
En un método para representar datos reconocibles, tales como caracteres, números o símbolos, existe un caso en el que los caracteres, números, o símbolos se representan como imágenes en consideración a la seguridad de los datos o en un espacio de presentación visual. Análogamente, con el fin de leer unos datos originales de una imagen de código en la que los datos estén representados como una imagen, se debe proveer un descodificador adecuado.
Por el documento US 5.352.878 es conocido proveer un lector de código de barras que descodifica un símbolo de código de barras, un carácter cada vez, mediante el análisis de los espacios de cada carácter independientemente de las barras de cada carácter. El lector determina las anchuras de cada espacio y cada barra y determina valores umbrales de anchura independientemente. Luego, el lector descodifica el carácter de acuerdo con estas clasificaciones estrecho/ancho.
Por el documento EP 0582911 se conoce la provisión de un método y aparato para detectar y descodificar símbolos de códigos de barras que están dispuestos de forma aleatoria en imágenes bidimensionales de píxeles de escala de grises.
Descripción del invento
Para solucionar el problema, un objeto del presente invento es proveer un aparato para reconocer un código que es capaz de leer unos datos originales de una imagen de código en la que los datos están expresados como un color o una sombra, y un método para realizar dicho reconocimiento.
De acuerdo con un primer aspecto del presente invento, se provee un aparato para reconocer un código, cuyo aparato comprende:
una parte de configuración de código para establecer una relación entre el carácter, número o símbolo y el color o sombra correspondientes;
una parte de adquisición de imagen para adquirir una imagen no elaborada en la que está contenida una imagen de código; cuyo aparato se caracteriza por:
una parte para tratamiento de imagen para determinar un área de la imagen de código de otras áreas, extraer una pluralidad de celdas incluidas en el área de imagen de código, y reconocer el color estándar o la sombra estándar representados en cada una de las celdas, y para corregir colores o sombras reconocidos con respecto a cada una de las celdas incluidas en el área de imagen de código, usando una variable ambiental que se configura para discriminar colores o sombras de la imagen no elaborada en consideración de un ambiente en el que se introduce como entrada la imagen no elaborada; y
una parte de conversión de código para convertir los colores o sombras corregidos en una pluralidad de colores estándar o sombras estándar usados para generar la imagen de código, y para extraer un carácter, número o símbolo correspondientes del color o sombra reconocidos en cada una de las celdas de la imagen de código de acuerdo con la relación establecida en la parte de configuración de código, para generar datos de código.
\vskip1.000000\baselineskip
De acuerdo con un segundo aspecto del presente invento, se ha provisto un método para reconocer un código, cuyo método comprende las etapas de: adquirir una imagen no elaborada en la que está contenida una imagen de código; caracterizándose el método por las etapas de: discriminar de otras áreas el área de imagen de código, extraer una pluralidad de celdas incluidas en el área de imagen de código, y reconocer el color estándar o la sombra estándar representados en cada una de las celdas; corregir colores o sombras reconocidos con respecto a cada una de las celdas incluidas en el área de imagen de código, usando una variable ambiental que se configura para discriminar colores o sombras de la imagen no elaborada teniendo en cuenta un ambiente en el que se introduce como entrada la imagen no elaborada;
convertir los colores o sombras corregidos en una pluralidad de colores estándar o sombras estándar usados para generar la imagen de código; y
extraer un carácter, número o símbolo correspondientes del color o sombra reconocidos en cada una de las celdas de la imagen de código de acuerdo con una relación entre el carácter, número o símbolo y el color o sombra correspondientes, para generar datos de código.
\vskip1.000000\baselineskip
Breve descripción de los dibujos
El objetivo anterior y las ventajas del presente invento resultarán más evidentes mediante la descripción detallada de realizaciones preferidas del mismo con referencia a los dibujos adjuntos, en los que:
La Figura 1A es un diagrama de bloques de un aparato para reconocer un código de acuerdo con una primera realización del presente invento, y la Figura 1B es un diagrama de flujo que ilustra el funcionamiento del aparato mostrado en la Figura 1A;
Las Figuras 2A hasta 2E ilustran varios ejemplos de imágenes de código a leer por el aparato, las Figuras 3A hasta 3C ilustran ejemplos de tablas de conversión de código utilizadas para convertir datos predeterminados en una imagen, y la Figura 4 ilustra un ejemplo en el que una imagen de código se incorpora a una tarjeta de nombre;
La Figura 5 es un diagrama de bloques del aparato de acuerdo con una segunda realización del presente invento, y la Figura 6 es un diagrama de flujo que ilustra el funcionamiento del aparato mostrado en la Figura 5;
Las Figuras 7A hasta 7F ilustran resultados en los que se obtienen imágenes en blanco y negro a partir de imágenes no elaboradas;
Las Figuras 8A hasta 8F ilustran etapas de la extracción de una imagen de ruido de una imagen en blanco y negro;
La Figura 9 es un diagrama de flujo que ilustra la etapa de reconocer un color estándar representado en cada píxel de la imagen de código;
Las Figuras 10 a 14 ilustran ejemplos para explicar la Figura 9; y
La Figura 15 es un diagrama de bloques del aparato de acuerdo con una tercera realización del presente invento, y la Figura 16 es un diagrama de flujo que ilustra el funcionamiento del aparato mostrado en la Figura 15.
\vskip1.000000\baselineskip
Modo óptimo para realizar el invento
De aquí en adelante, en la presente memoria se expone con detalle el presente invento mediante la descripción de realizaciones preferidas del mismo con referencia a los dibujos adjuntos.
La Figura 1A es un diagrama de bloques de un aparato para reconocer un código de acuerdo con una primera realización del presente invento, y la Figura 1B es un diagrama de flujo que ilustra el funcionamiento del aparato mostrado en la Figura 1A.
Las Figuras 2A hasta 2E ilustran varios ejemplos de imágenes de código a leerse por el aparato, y las Figuras 3A hasta 3C ilustran ejemplos de tablas de conversión de código utilizadas para convertir datos predeterminados en una imagen, y la Figura 4 ilustra un ejemplo en el que una imagen de código se incorpora a una tarjeta de nombre. El aparato para reconocer un código lee una imagen de código (una imagen cuadrangular mostrada en una esquina inferior derecha de la Figura 4) representada sobre un medio físico y extrae unos datos originales de código correspondientes a la imagen de código. La imagen de código es una imagen en la que se convierte un número, un carácter o un símbolo usando una tabla de conversión de código y podría expresarse de diversas maneras según se ha mostrado en las Figuras 2A hasta 2D. En primer lugar, se describirá el funcionamiento del aparato para reconocer un código con referencia a las Figuras 1A y 1B.
En la etapa 21, una parte 11 de adquisición de imagen adquiere una imagen que incluye una "imagen de código", que se expresa física o electrónicamente. Unos datos de código que se extraerán eventualmente se expresan como una forma de imagen en la imagen de código. La parte 11 de adquisición de imagen lee la imagen expresada físicamente a través de un dispositivo de entrada de imagen, tal como un escáner, una cámara digital, una cámara de PC, un detector, o un fax, y convierte la imagen leída en unos datos de imagen, que se pueden tratar electrónicamente. En este caso, a la salida de la parte 11 de adquisición de imagen se hace referencia como "imagen no elaborada", y la imagen no elaborada se formatea como un archivo de imagen, que se puede tratar mediante un ordenador. En general, en la imagen no elaborada está contenida una imagen de ruido o de fondo con una imagen de código.
Una parte 13 de tratamiento de imagen extrae una imagen de código de la imagen no elaborada y reconoce el color o la sombra de las celdas individuales contenidos en la imagen de código.
En la etapa 22, basándose en un parámetro tal como una variable ambiental y/o un modo de color, se extrae de la imagen no elaborada una región de imagen de código. En la etapa 23, la parte 13 de tratamiento de imagen genera datos relacionados con la imagen de código basándose en la imagen no elaborada y discrimina la forma, posición, o tipo de imagen de código. En la etapa 24, la parte 13 de tratamiento de imagen discrimina el número, forma y posición de las celdas contenidas en la imagen de código. En la etapa 25, la parte 13 de tratamiento de imagen detecta el color o la sombra de cada celda. La parte 13 de tratamiento de imagen configura una variable ambiental teniendo en cuenta el entorno ambiental en un tiempo cuando se haya adquirido la imagen no elaborada, corrige el color o la sombra de celdas individuales usando la variable ambiental, y de ese modo detecta el color o la sombra originales de cada
celda.
La parte 13 de tratamiento de imagen extrae la región de imagen de código, excepto una parte de imagen de fondo, de las imágenes no elaboradas, y discrimina la forma y tipo de la imagen de código, discriminando por tanto las celdas contenidas en la región de imagen de código sobre esta base. Preferiblemente, la imagen no elaborada se convierte en una imagen en blanco y negro basándose en una variable ambiental en blanco y negro, que se configura de acuerdo con el grado de brillo en un estado en el que se introduce como entrada la imagen no elaborada. Preferiblemente, se configura un color de la parte de imagen de fondo de la imagen en blanco y negro mediante un color peculiar de fondo, que no se use para representar datos de código. Preferiblemente, luego, se configura un color de las partes de imagen no elaborada correspondientes a la parte de imagen de fondo en la imagen en blanco y negro mediante el color de fondo, y mediante la discriminación de partes de imagen de código y partes de fondo, se extrae de la imagen no elaborada la región de imagen de código. Se podrían reducir unas operaciones aritméticas requeridas para extraer la región de imagen de código mediante el uso de la imagen en blanco y negro.
Preferiblemente, la parte 13 de tratamiento de imagen recibe una imagen en la que las partes de imagen de código y las otras partes se dividen por el color de fondo, divide la imagen recibida en una pluralidad de bloques, detecta una región que tiene un color o sombra que no es el color de fondo de cada uno de los bloques, selecciona un bloque que tenga la región más amplia entre todos los bloques, detecta un punto central de la región de imagen de código contenida en el bloque seleccionado, y explora la totalidad de la imagen basándose en el punto central, detectando de ese modo la región que tiene un color o sombra que no es el color de fondo como la región de imagen de código.
Una parte 17 de configuración de código establece una relación (véanse Figuras 3A hasta 3C) entre un carácter, número o símbolo utilizados para representar datos y un color o sombra correspondientes. En la etapa 26, una parte 15 de conversión de código extrae un carácter, número o símbolo correspondientes del color o sombra de cada celda de la imagen de código de acuerdo con la relación provista por la parte 17 de configuración de código, generando de ese modo unos datos de código.
A continuación se describe un ejemplo de configurar una variable ambiental utilizada para leer el color o sombra de cada píxel en una imagen. La variable ambiental se podría configurar a R, G ó B en un modo RGB, H, S, ó V en un modo HSV, o en una combinación de las R, G, B y las H, S, V, con el fin de normalizar el valor del color o el valor de la sombra, que es reconocido en la imagen no elaborada teniendo en cuenta un ambiente en el que se lee la imagen no elaborada. Dicho de otro modo, los valores para una variable ambiental de color se suman o restan de los valores de color o sombra de píxeles de las imágenes no elaboradas. Por ejemplo, el valor de color o sombra podría ser un valor para rojo, verde y azul en un modo de color RGB; matiz, saturación y valor (brillo) en un modo de color HSV; azul-verde, magenta, amarillo o negro en un modo de color CMYK; o matiz, intensidad, y saturación, en un modo de color HIS. El color o la sombra representados en la imagen no elaborada se ajustan para corregir por el ambiente donde se leyó la imagen no elaborada, y de ese modo se puede obtener el color/sombra originales.
En general, se configura una variable ambiental inicial sobre la hipótesis de que se usó para iluminación una luz fluorescente o una lámpara de tres longitudes de onda. Por otra parte, se usa una hoja blanca de papel como un fondo de referencia antes de introducir como entrada una imagen no elaborada en una cámara, y la variable ambiental se configura de acuerdo con la iluminación del ambiente. Por ejemplo, la luz roja procedente de una lámpara de halógeno es relativamente intensa, y por tanto la variable ambiental se configura para quitar el efecto de la luz roja emitida desde la lámpara de halógeno. A continuación, si el color real detectado se normaliza usando la variable ambiental, se puede reducir el efecto de iluminación, y pueden obtenerse colores muy próximos al color original.
A continuación se describe un ejemplo de corregir colores o sombras usando la variable ambiental. Se supone que las imágenes de código comprenden ocho colores y se han codificado usando una tabla de conversión de códigos mostrada en la Figura 3B. En un caso en el que el valor de RGB representado en un píxel de una imagen no elaborada se reconoce como (100, 100, 100), y la variable ambiental se configura a (+ 100, - 50, + 50), el valor corregido de RGB para el píxel, obtenido mediante la realización de una operación aritmética sobre el valor de RGB y la variable ambiental es (200, 50, 150). Para cada componente del valor corregido de RGB, si el componente es mayor de 128, el componente se convierte a 255. De lo contrario, el componente se convierte a 0. Como resultado, el valor final de RGB es (255, 0, 255) y por tanto el color o la sombra se discriminan como magenta.
Ejemplo 1
En el modo de color RGB, un valor máximo para cada componente de RGB es 255, y por tanto el valor mínimo es 0. Así, (255, 0, 0) representa rojo, (0, 255, 0) representa verde, (0, 0, 255) representa azul, (0, 0, 0) representa negro, y (255, 255, 255) representa blanco. En un caso en el que x es el valor de R, G ó B, e y es el valor de una variable ambiental para cada R, G y B, los componentes para el valor final para cada píxel se determinan como se expresa a continuación.
100
Ejemplo 2
Se obtuvieron modos de color YIQ e YUV mediante la asignación de un peso predeterminado al valor de RGB y son similares al modo de RGB. Es decir, el modo de color YIQ se podría obtener usando Y = 0,299 R + 0,587 G + 0, 114 B, I = 0,596 R - 0,274 G - 0,322 B, Q = 0,211 R - 0,523 G + 0,312 B. Y significa brillo, e I y Q designan el grado de intensidad del rojo y del azul, respectivamente.
101
Ejemplo 3
Un modo de color CMYK es un modo de color utilizado usualmente para imprimir, y cada componente del color se indica como el porcentaje o proporción en el modo de color CMYK. El modo de color CMYK se expresa como (R/255, G/255, B/255) con respecto a un valor de RGB. En un caso en el que x es un valor para C, M, Y ó K, e y es un valor de la variable ambiental correspondiente a cada componente de color, el valor final de CMYK para cada píxel se determina como se indica a continuación.
102
Ejemplo 4
En el caso del modo de color HSV y HSI, el valor para el matiz se expresa como un ángulo. En un caso en el que x es el valor para el matiz y los valores ambientales de color se configuran de tal manera que 0 \leq Trg < Tbr \leq 360, se podría adoptar un método para discriminar colores de la forma siguiente:
103
Ejemplo 5
Para el modo de color de la Comisión Internacional de Iluminación (en adelante CIE), el valor de un color se representa en un gráfico x-y. En este caso, x e y se usan como una referencia para discriminar colores, y por tanto, se podría adoptar un método para discriminar colores de la forma siguiente:
104
Los datos referentes a una relación entre un ambiente general y una variable ambiental a configurar de acuerdo con el ambiente general se guardan en una base de datos, y se leen los datos preconfigurados con respecto a un ambiente de trabajo real, y de ese modo se podría usar la variable ambiental. La variable ambiental se determina experimentalmente de tal manera que los colores leídos por un dispositivo óptico de entrada se corrijan a colores originales, o bien las imágenes de código se discriminan del fondo, mediante el análisis de las características ópticas y la iluminación ambiental del dispositivo óptico de entrada, y por tanto los colores se podrían reconocer sin errores al mismo tiempo que no resultan afectados por un dispositivo o un ambiente. Además, se podrían formar dos o más grupos de variables ambientales que tengan objetivos diferentes. Dicho de otro modo, uno de los grupos de variable ambiental podría ser una variable ambiental para separar del fondo las imágenes de código, y el otro podría ser una variable ambiental para discriminar el color o la sombra de las imágenes de código separadas del fondo. Por ejemplo, el valor de R es relativamente elevado cuando los colores se discriminan para el modo de RGB en el ambiente de iluminación que usa luz roja. De ese modo, el valor para R leído en el dispositivo óptico se reduce a un valor de peso predeterminado, y se excluye el efecto del ambiente. Cuando la imagen de código en el ambiente de colores de iluminación brillantes se discrimina como blanco y negro para el modo de HSV, se aumenta el valor de peso del componente V, y por tanto se discriminan los colores. En el ambiente de iluminación atenuada, el valor de peso del componente V para discriminar el color blanco y negro en el modo de HSV de los colores que excluyen negro o blanco se reduce, y el valor de peso del componente S se reduce también, y por tanto se discriminan los colores. Cuando se reconfigura la variable ambiental, se determina la distribución de los valores para R, G, B, H, S, y o V, que se obtuvieron a partir de cada celda en la imagen de código mediante el dispositivo óptico, y se podrían reconfigurar la variable ambiental y un valor de peso de la misma con referencia a la distribución.
A continuación se describen ejemplos de imágenes de código a tratar por el aparato para reconocer un código mostrado en la Figura 1A y datos de código correspondientes a la imagen de código. Las Figuras 2A hasta 2D ilustran diversos ejemplos de imágenes de código, que pueden reconocerse mediante el aparato para reconocer un código de acuerdo con el presente invento. En los dibujos, se podrían realizar diversas formas para celdas, por ejemplo, cuadrangular, circular, elíptica, cruciforme, o de panal, y podría ser posible una combinación de formas cuando se forma una imagen de código. La forma y dimensión de una imagen de código o celda se podrían seleccionar adecuadamente de acuerdo con el contenido o la cantidad de datos a representar en la imagen de código. Se podrían realizar diversas formas de la imagen de código constituidas por una pluralidad de celdas, tales como cuadrangular, circular, elíptica, cruciforme. o de panal. y se incluye también una imagen de código que tenga una forma similar a un código de barras de la Figura 2D.
La Figura 2E ilustra las regiones de una imagen de código basándose en grupos de datos representados en la imagen de código. La imagen de código incluye una región 291 de datos, que está formada de al menos una celda de datos en la que los colores, la sombra, los patrones, o una combinación de los mismos se han codificado de forma diferente de acuerdo con el contenido de los datos. La región 291 de datos podría formarse de una o más celdas de datos en la que los caracteres se codifiquen como imágenes, y cada una de las celdas de datos podría representar un carácter, o un conjunto de una pluralidad de celdas de datos podría representar uno o más caracteres. Por ejemplo, el carácter A se podría representar como una celda roja, o bien se podría representar como dos celdas tal como una celda roja y una celda verde. Los datos de código contenidos en la región 291 de datos comprenden caracteres, números y símbolos, y podrían comprender nombres, direcciones, números de teléfono, números de fax, direcciones de unidad central de redes, nombres de dominio y direcciones de protocolos de Internet (en adelante IP) utilizadas en Internet, localizadores uniformes de recursos (en adelante URL), protocolos, o nombres de documentos, dependiendo de las demandas del usuario.
Se podrían incluir además en la imagen de código al menos una de una región de paridad 293, una región de referencia 295, y una región de control 297. La región de paridad 293 comprende celdas de paridad para comprobar errores de reconocimiento de las celdas representadas en la región de datos 291. La región de referencia 295 comprende al menos una celda de referencia, que provee colores de referencia, sombra de referencia, formas de referencia, patrones de referencia, o una combinación de los mismos para determinar colores, sombra, formas, patrones o una combinación de los mismos de la celda de datos formada en la región de datos 291. La región de control 297 comprende al menos una celda de control, en la que se codifican datos de control para órdenes de ejecución o servicios a proveerse usando datos representados en la región de datos 291. De ahora en adelante en la presente memoria, a todas las regiones excluyendo la región de datos 291, es decir, la región de paridad 293, la región de referencia 295, y la región de control 297, se hará referencia como "regiones auxiliares", y las celdas incluidas en las regiones auxiliares se marcan como celdas auxiliares.
La región de paridad 293 se usa para determinar si se han expresado colores o sombras (o, posiblemente, formas y/o patrones) que sean adecuados para celdas de datos de acuerdo con el contenido de datos de código. En la región de paridad 293, se obtienen datos de paridad de acuerdo con valores de código diseñados que correspondan al color o a la sombra representados en cada una de las celdas de datos, y las celdas de paridad están formadas de colores o sombra correspondientes a los datos de paridad.
La región de referencia 295 se usa para configurar colores de referencia (o sombras de referencia, formas de referencia, o patrones de referencia según lo demande la ocasión) para reconocer colores (o sombras, formas o patrones) representados en las celdas de la región de datos 291 y/o en las regiones auxiliares. Los colores de las celdas de cada región se podrían representar en un modo de color tal como un modo de color rojo-verde-azul (RGB), un modo de color matiz-saturación-valor (HSV), un modo de color azul verde - magenta- amarillo-negro (CMYK), un modo de color matiz-saturación-intensidad (HSI), un modo de color CIE, un modo de color YIQ o YUV. Aún en el caso de en que un código esté formado por sombras en blanco y negro (escala de grises), los datos de cada celda se pueden reconocer con precisión basándose en las sombras en blanco y/o negro representadas en la región de referencia 295.
Además, se podría implementar adicionalmente una región límite para discriminar regiones entre las regiones incluidas en las imágenes de código. Adicionalmente, se podría incluir además una región límite para discriminar celdas entre celdas de cada región. La región límite podría estar comprendida por una línea o una celda formada de un color o patrón específicos, y una línea límite o una celda límite podría formarse como negra o blanca.
\newpage
El color se puede imprimir de forma diferente dependiendo de la clase de impresora o del material usado como papel de imprimir, y el mismo color se podría reconocer de un modo algo diferente de acuerdo con las características de un escáner o una cámara. Considerando lo anterior, la celda de referencia incluida en la región de referencia 295 proporciona una referencia para discriminar colores representados en la región de datos 291. Es decir, aún si el color es de una salida diferente dependiendo del dispositivo de salida utilizado, o si el color tiene una entrada diferente de acuerdo con el dispositivo de entrada utilizado tal como un escáner, una diferencia de color entre el color de la región de referencia 295 y el color de la región de datos es constante, y por tanto se pueden reconocer con precisión los colores de las celdas contenidas en la región de datos 291. De este modo, los colores de las celdas de la región de datos 291 tienen una diferencia de color relativa en comparación con los colores de referencia de la región de referencia 295, y por tanto los colores de las celdas de la región de datos 291 se obtienen comparándolos con los colores de referencia de la región de referencia 295 basándose en el modo RGB o en el modo HSV, y en consecuencia los datos de las celdas de datos se pueden reconocer con precisión aunque se cambie un dispositivo de entrada de imagen o un dispositivo de salida de imagen. En un caso en el que se introduzcan como entrada formas o patrones en un dispositivo de entrada tal como una cámara, las formas o los patrones se podrían inclinar o deformar. Las formas de referencia o los patrones de referencia se proveen en la región de referencia 295, y por tanto se puede detectar un estado de entrada errónea, y las formas o patrones de las celdas de datos se pueden reconocer con precisión.
Se pueden proveer diversos servicios a un usuario utilizando datos de código de la región de datos 291 dependiendo del tipo de aplicación. Por ejemplo, en un caso en el que se exprese una dirección de página web (es decir, un URL) en Internet en una tarjeta de nombre como imágenes de código, las imágenes de código son descodificadas por un ordenador, y se ejecutan el navegador de web del ordenador o un servidor conectado al ordenador y de ese modo se pueden programar para establecer contacto con la página web. Además, en un caso en el que una dirección de correo electrónico se exprese como una imagen de código, la imagen de código se descodifica mediante un ordenador, y se ejecuta el software de envío por correo del ordenador, proporcionando de ese modo un ambiente en el que se pueden enviar correos electrónicos a la dirección de correo electrónico. Como otro ejemplo, en un caso en el que la imagen de código se introduce como entrada a un terminal portátil, un usuario puede llamar a un número de teléfono correspondiente a la imagen de código o recibir servicios de datos relacionados con geografía. En ese caso, se puede implementar automáticamente la función de servicio automático mediante un programa separado o de acuerdo con la clase de datos de objetivo en un programa de descodificación. Adicionalmente, la región de control 297, en la que una orden de ejecución para ejecutar la función de servicio automático se expresa como una imagen, se incluye en la imagen de código y de ese modo implementa automáticamente los servicios del programa de descodificación mediante el uso de los datos de control descodificados de la región de control 297.
Adicionalmente, se pueden incluir en la región de control 297 órdenes de ejecución o metadatos para controlar datos objetivos de la región de datos 291. Por ejemplo, los datos codificados en la región de control 297 podrían incluir diversos metadatos tal como el orden de descodificación de las celdas formadas en la región de datos 291, la posición de la celda de referencia de la región de referencia 295, y y la posición o propiedad de la región de paridad 293.
La Figura 3A ilustra un ejemplo en el que dos bits de datos se han expresado como cuatro colores. Si cada celda tiene uno de cuatro colores, se pueden expresar dos bits de datos. Entonces, en un caso en el que se define que un carácter se exprese como cuatro celdas consecutivas, se pueden expresar 8 bits, es decir, 256 clases de caracteres. Entretanto, en un caso en el que hay cuatro clases de formas para una celda con el mismo color (es decir, pequeño cuadrilátero, gran cuadrilátero, pequeño círculo y gran círculo), se pueden expresar dos bits de datos, y se pueden expresar 256 clases (8 bits) de datos en un caso en el que cada celda podría rellenarse con cuatro colores diferentes.
La Figura 3B ilustra un ejemplo de una tabla de conversión de códigos para convertir diversos caracteres (caracteres alfabéticos o especiales), números, o formas en imágenes, y en el ejemplo, un carácter se ha representado gráficamente como una o dos celdas de color.
A la vista de un método de codificación que usa la tabla de conversión de códigos de la Figura 3B, se convierten diversos caracteres en valores de código, y luego se generan imágenes de código como colores asignados a cada uno de los valores de código. En la presente realización, las imágenes de código se generan usando ocho colores, y se usan dos celdas consecutivas con el fin de expresar un carácter o número. Los valores de código desde "000" hasta "111" se asignan a los ocho colores, y cada carácter se codifica como dos colores. Por ejemplo, el número "3" es asignado al valor de código "000 111", se codifica como un color (negro) asignado al valor de código "000" y un color (azul-verde) asignado al valor de código "011", y por tanto se forma una imagen como dos celdas consecutivas de una celda negra y una celda azul-verde. Varios caracteres o números incluidos en los datos de código se convierten en valores de código de acuerdo con la tabla de conversión de códigos mostrada en la Figura 3B, y entonces los colores correspondientes a los valores de código se pueden expresar como una forma de matriz cuadrangular comprendida de una combinación de celdas cuadrangulares.
La Figura 3C ilustra una realización en la que se generan imágenes de código usando un código de escala de grises. El código de escala de grises se forma de acuerdo con el brillo de un tono de escala de grises en lugar de la relación de mezcla de rojo (R), verde (G), y azul (B). De ese modo, en la región de referencia 295, una sombra de referencia se configura a negro, blanco o gris, y las celdas situadas en la región de datos 291 tienen valores que se codifican mediante una diferencia de gris comparada con la sombra de referencia de la región de referencia 295. En un caso en el que no exista región de referencia 295 en la imagen de código, se calcula la sombra de cada celda de la imagen de código, y se recogen las celdas (conjunto de celdas) que tengan sombras similares. Se asigna el mismo valor de código a las celdas que pertenecen al mismo conjunto de celdas, y luego se pueden determinar los errores en descodificación usando la región de paridad 293. En un caso en el que ocurran errores de determinación, de nuevo se determina si los errores se producen después que se ha recalculado la sombra de cada celda o se configura de forma diferente una referencia para formar un conjunto de celdas. Se podría aplicar la imagen de código de escala de grises a los medios de comunicación que se imprimen principalmente en blanco y negro, como los periódicos.
La Figura 4 ilustra un ejemplo en el que una imagen de código se ha adoptado esencialmente a una tarjeta de nombre, usando el sistema de código antes mencionado. En el caso de usar el aparato para reconocer un código mostrado en la Figura 1, un usuario puede generar un archivo de imagen en el que estén incluidas las partes de la imagen de código cuadrangular representada en la esquina inferior derecha de la tarjeta de nombre, usando una cámara o un escáner, y el usuario puede tratar la imagen y reconocer datos de código, que se van a representar mediante la imagen de código. La Figura 5 es un diagrama de bloques del aparato de acuerdo con una segunda realización del presente invento, y la Figura 6 es un diagrama de flujo que ilustra el funcionamiento del aparato mostrado en la
Figura 5.
Una parte 51 de adquisición de imagen adquiere una imagen no elaborada en la que está contenida una imagen de código. Se recibe un archivo de imagen adquirido por un dispositivo de entrada de imagen, tal como una cámara o un escáner, o un archivo de imagen que exista en el formato de un archivo electrónico, y el formato de datos del archivo de imagen se convierte si es necesario. Por ejemplo, un archivo de imágenes de vídeo comprimido se descomprime y se convierte en un archivo de imágenes que tenga una forma de mapa de bits. De este modo, el archivo de imágenes se guarda en una memoria 52 como una imagen no elaborada. En la imagen no elaborada se incluye también una imagen de ruido ambiental con una imagen de código, que el usuario desea detectar.
Una parte 58 de control recibe el tipo de la imagen de código, configura una variable ambiental teniendo en cuenta un ambiente en el momento en que se adquirieron las imágenes no elaboradas, o bien lee una variable ambiental ya guardada y transmite la variable ambiental a un filtro 53 de colores. La memoria 52 guarda provisionalmente los datos de imagen requeridos para el tratamiento de imágenes.
El filtro 53 de colores corrige los colores o las sombras reconocidos de la imagen no elaborada por la variable ambiental, convierte los colores o las sombras corregidos en colores estándar o sombras estándar, que se usan para generar la imagen de código, y de ese modo genera una imagen estándar representada por los colores estándar o la sombra estándar. En este caso, las denominaciones de colores estándar o sombras estándar significan colores o sombras que se configuran para corresponder a caracteres, números o símbolos cuando se genere la imagen de código (véanse Figuras 3A hasta 3C). La imagen de código presentada visualmente en medios físicos podría no estar representada como colores configurados originalmente o podría no reconocer los colores originales debido a las características de un dispositivo de imagen o al efecto de una variable ambiental cuando la imagen de código se imprime mediante un dispositivo de salida de imagen o cuando la imagen de código se trata mediante el dispositivo de entrada de imagen. Por ejemplo, aunque el valor de RGB del color magenta es (255, 0, 255), el valor de RGB reconocido desde la celda a representarse como color magenta no es exactamente (255, 0, 255), sino que será un valor próximo a (255, 0, 255). Por tanto, se pueden extraer datos de código mediante la aplicación de la tabla de conversión de código solamente si los colores o las sombras realmente reconocidos se convierten en colores estándar o sombras estándar. Un filtro 54 codificado en sistema binario divide los colores o las sombras de la imagen no elaborada en dos colores de acuerdo con un valor de referencia predeterminado (variable ambiental en blanco y negro) y genera una imagen codificada en sistema binario. La imagen codificada en sistema binario se podría implementar como blanco y negro o en dos colores específicos. En estas condiciones, se podría configurar un valor de referencia al valor promediado de los valores para R, G y B, o a un valor mínimo o a un valor máximo entre ellos, un valor para V del modo de color HSV, un valor para I del modo de color HSI, o un valor para K del modo de color CMYK.
Una parte de pre-tratamiento 55 recibe la imagen no elaborada y la imagen codificada en sistema binario, configura un color de una parte que excluya la parte de imagen de código en la imagen codificada en sistema binario como un color de fondo específico, configura un color de una parte de la imagen estándar, que corresponde a la parte configurada como el color de fondo en la imagen codificada en sistema binario, como el color de fondo, discriminando de ese modo una parte de imagen de código de otras partes. Por ejemplo, un color de píxeles situado en un borde de la imagen codificada en sistema binario se configura como el color de fondo, y luego un color de píxeles conectado a los píxeles configurados como el color de fondo se configura también como el color de fondo, discriminando de ese modo la parte de imagen de código de las otras partes. En este caso, el color de fondo se configura a uno de los colores, que no se use para generar la imagen de código. Una parte 56 de extracción de punto característico extrae una pluralidad de celdas incluida en la parte de imagen de código y luego reconoce los colores estándar o la sombra estándar representados en cada celda.
Un descodificador 57 extrae un correspondiente carácter, número, o símbolo del color o de la sombra reconocidos en cada celda de las imágenes de código de acuerdo con una relación entre caracteres, números o símbolos y el color o la sombra correspondientes, y genera datos de código. Preferiblemente, un color o una sombra, que en su mayor parte están distribuidos entre los colores o sombras de los píxeles pertenecientes a cada celda, es reconocido como un color de la celda correspondiente.
\newpage
A continuación se describe el funcionamiento del aparato para reconocer un código mostrado en la Figura 5 con referencia al diagrama de flujo de la Figura 6. En la etapa 61, se adquiere la imagen no elaborada, en la que está incluida la imagen de código. En la etapa 62, se configura la variable ambiental teniendo en cuenta un ambiente existente en un tiempo en el que se adquirió la imagen no elaborada, y los colores o la sombra reconocidos a partir de la imagen no elaborada se corrigen por la variable ambiental. En la etapa 63, los colores o sombras corregidos se convierten a una pluralidad de colores estándar o sombras estándar que se usan para generar la imagen de código, y así se genera la imagen estándar representada por los colores estándar o las sombras estándar.
En la etapa 64, se genera la imagen codificada en sistema binario dividiendo los colores o las sombras de la imagen no elaborada en dos colores de acuerdo con un valor de referencia predeterminado. En la etapa 65, un color de la parte que excluye la parte de imagen de código se configura como el color de fondo específico sobre la base de la imagen codificada en sistema binario. En la etapa 66, la parte de la imagen estándar que corresponde a la parte configurada como el color de fondo en la imagen codificada en sistema binario se trata como el color de fondo, y de ese modo la parte de imagen de código se puede discriminar de las otras partes.
En la etapa 67, se extrae la pluralidad de celdas incluidas en la parte de imagen de código, y luego se reconoce el color estándar o la sombra estándar representados en cada celda. En la etapa 68, se extrae un correspondiente carácter, número o símbolo del color o de la sombra reconocidos en cada celda de la imagen de código de acuerdo con la relación entre el carácter, número o símbolo y el color o sombra correspondientes, generando de ese modo datos de código.
La función y operación del aparato para reconocer un código mostrado en la Figura 5 se describirá más adelante con mayor detalle.
El filtro 54 codificado en sistema binario convierte la imagen no elaborada en una imagen en blanco y negro de acuerdo con la variable ambiental en blanco y negro. La imagen en blanco y negro se usa para facilitar la discriminación de un objeto incluido en la imagen no elaborada y para mejorar la velocidad de trabajo. El valor de brillo de cada píxel de la imagen no elaborada se compara con el valor de variable ambiental y se descarga como salida como un píxel que es negro o blanco, y de ese modo se genera la imagen en blanco y negro. La variable ambiental en blanco y negro significa un parámetro o un conjunto de parámetros para convertir los colores representados en la imagen no elaborada en blanco y negro, tal como el valor promedio en el que la suma de los valores para rojo, verde y azul se dividen en 3, o bien el valor (brillo) del modo de color HSV. En un caso en el que el brillo total de la imagen no elaborada es relativamente oscuro (éste podría ser el caso cuando el entorno ambiental está ligeramente oscuro cuando se escanea la imagen no elaborada, o bien el brillo es bajo debido a las características del dispositivo de imágenes), el valor de la variable en blanco y negro se configura como bajo. En un caso en el que el brillo total de la imagen no elaborada sea relativamente alto, el valor de la variable en blanco y negro se configura como alto.
Por ejemplo, en un caso en el que el valor de RGB en un píxel de la imagen no elaborada es (100, 100, 100), el brillo medio del píxel es 100. En tal caso, suponiendo que el valor de la variable ambiental es 80, un píxel que tenga un valor con más brillo que el valor de la variable ambiental se reconoce se reconoce como blanco. De lo contrario, el píxel se reconoce como negro.
Cuando una imagen en color se codifica en sistema binario en una imagen en blanco y negro, se podrían generar píxeles negros o blancos mediante la aplicación de un valor de referencia a todos los píxeles o bien se podría generar dividiendo la totalidad de la imagen en varias partes, configurando un valor de referencia con respecto a cada una de las partes, y aplicando el valor de referencia a los píxeles pertenecientes a cada una de las partes. Es decir, a la vista de un método local de valor umbral, las imágenes se dividen en bloques que tengan unos tamaños predeterminados, se promedia el valor de brillo de los píxeles a cada uno de los bloques, y el valor promediado se configura como la variable ambiental en blanco y negro. El valor de brillo de cada píxel se compara con el valor de la variable en blanco y negro, y de ese modo los píxeles pertenecientes a los bloques se pueden codificar en sistema binario como negro o blanco. El método es de una efectividad máxima en un caso en el que la totalidad de la imagen es localmente oscura o brillante.
Se podría adoptar un método de valor umbral múltiple cuando una imagen en color se convierte en una imagen en blanco y negro. Se obtiene un histograma del valor de brillo de los píxeles pertenecientes a la imagen. De ese modo se puede obtener la frecuencia de brillo. El histograma se puede dividir en valores de brillo que tengan una frecuencia alta y en valores de brillo que tengan una frecuencia baja. De este modo, los valores de brillo que tengan una frecuencia más baja, que están situados entre los valores de brillo que tienen una frecuencia más alta, se configuran como una pluralidad de variables ambientales en blanco y negro, y luego se aplica por orden la pluralidad de variables ambientales en blanco y negro a la imagen en color. Como resultado, en un caso en el que una imagen tenga una variación mayor en brillo, se selecciona la variable más apropiada entre la pluralidad de variables ambientales en blanco y negro, con lo que se puede generar una imagen apropiada en blanco y negro.
La Figura 7 ilustra el resultado en el que una imagen en blanco y negro se obtiene de la imagen no elaborada. La Figura 7A ilustra las imágenes no elaboradas. La imagen no elaborada es realmente una imagen en color, pero representada como una imagen en escala de grises debido a la limitación en la expresión de los dibujos. La Figura 7B ilustra el ejemplo en el que los valores para R, G y B se promedian, y el valor medio se compara con el valor de referencia de 128, para obtener la imagen en blanco y negro. Para la Figura 7C, el valor de referencia se configura en 90. La Figura 7D ilustra un ejemplo que adopta el método local de valor umbral. La Figura 7E ilustra el ejemplo en el que el valor mínimo entre los valores para R, G, y B de píxeles se compara con el del valor de referencia de 128 para obtener una imagen en blanco y negro, y para la Figura 7F, el valor de referencia se configura a 90.
La parte de pre-tratamiento 56 recibe la imagen en color y la imagen en blanco y negro, compara la imagen en color con la imagen en blanco y negro, y de ese modo elimina una imagen de ruido innecesaria de la imagen en color y de la imagen en blanco y negro. La etapa de eliminar la imagen de ruido basándose en la imagen en blanco y negro se realiza mediante las etapas de eliminar una imagen de fondo y una imagen de pequeño ruido y se describen más adelante con detalle refiriéndose a las Figuras 8A hasta 8F.
En general, alrededor de las imágenes de código existe un color blanco o un espacio en blanco redundante con elevada luminosidad, y la región de las imágenes de código está separada de las regiones adyacentes. En la etapa de reconocer la imagen de fondo, se comprueba el estado de conexión de la imagen de ruido, y luego se puede quitar la imagen de fondo. Las Figuras 8A hasta 8F ilustran la etapa de quitar la imagen de fondo. En primer lugar, la posición de la imagen de ruido en los bordes de la imagen en blanco y negro (véase Figura 8A), es decir, píxeles que tienen un color negro entre píxeles situados en los bordes de la imagen en blanco y negro, se configura en su color como una sombra o un color específicos, que es un color o una sombra que no esté representado en celdas de la imagen de código y al que se hace referencia como un "color de fondo" (véase Figura 8B). Se comprueba toda la región, y a los píxeles conectados a la imagen de ruido se les configura también su color como el color de fondo. Dicho de otro modo, los píxeles negros conectados a los píxeles representados por el color de fondo se detectan por orden, y un color de los píxeles se configura como el color de fondo (véanse Figuras 8E hasta 8E). Si ya no hay más píxeles negros conectados a los píxeles que tienen el color de fondo, la parte configurada como los colores de fondo se determina como la región de la imagen de ruido, y la parte constituida por los píxeles negros entre la parte que excluye la región de la imagen de ruido se determina como la región de la imagen de código. En ese caso, con el fin de verificar el estado de conexión de la imagen de ruido, es eficaz que los píxeles pertenecientes a la imagen de ruido se exploren simultáneamente en todas direcciones tal como de izquierda a derecha o de derecha a izquierda, de arriba abajo, o de abajo arriba. En la etapa de quitar la imagen de pequeño ruido, se comprueba el estado de conexión de cada uno de los píxeles de la imagen de la que se ha quitado la imagen de ruido de fondo, la longitud o el área a la que están conectados los píxeles es menor que un valor de referencia, y entonces esta imagen se determina como la imagen de pequeño ruido, quitando de ese modo la imagen de pequeño ruido. Por ejemplo, en un caso en el que el número de píxeles que son negros en una parte que tiene un área predeterminada es menor que el valor de referencia, esta imagen que corresponde a la parte se podría determinar como la imagen de ruido. De esta manera, la parte de imagen de código se forma cuando la parte determinada como la imagen de ruido y una parte de píxel blanco están excluidas de la imagen en blanco y negro.
El resultado de la imagen de ruido quitada de la imagen en blanco y negro se aplica a la imagen en color, y de ese modo la región de la imagen de código se extrae de la imagen de color. Por ejemplo, un píxel que exista en una posición (coordenada) que se determina como la imagen de ruido en la imagen en blanco y negro, está determinado también como la imagen de ruido incluso en la imagen en color.
La parte 56 de extracción de punto característico recibe la imagen en color y/o la imagen en blanco y negro de la que se ha quitado la imagen de ruido, explora el punto característico que comprende la imagen (imagen de código) de un objeto específico y su región, explora los datos relacionados con el tipo y posición de la imagen de código del punto característico del objeto, y determina errores. La parte 56 de extracción de punto característico se implementa mediante la realización de las etapas de dividir una imagen estándar en bloques, explorar la región de la imagen de código, extraer el punto característico de la región explorada de la imagen de código, y determinar el tipo de un código. La Figura 9 es un diagrama de flujo que ilustra la etapa de reconocer los colores estándar representados en cada celda de la imagen de código.
En un caso en el que la imagen estándar en la que se ha representado el color de fondo (o de la que se ha quitado la imagen de ruido) se introduce como entrada en la etapa 91, la imagen estándar se divide en bloques para que la región de la imagen de código pueda explorarse en la etapa 92. La Figura 10A ilustra cómo la totalidad de la imagen se divide en bloques que tienen unos tamaños predeterminados. Una parte representada como un cuadrilátero sombreado designa una región con la imagen de código. En un caso en el que se comprueban los tamaños de imagen significativa perteneciente a bloques correspondientes después que la imagen se ha dividido en bloques, se podría estimar la posición de la imagen de código. En este caso, el término "imagen significativa" significa la parte de imagen de código excluyendo la parte de imagen de ruido de la que se ha configurado el color mediante el color de fondo. De ese modo, se busca el punto central del bloque donde la región de la imagen de código perteneciente a cada bloque es la más grande, y se busca la región de la imagen de código basándose en el punto central. En otras palabras, en la etapa 93, se detecta el número de píxeles pertenecientes a la región de la imagen de código que no es la región de fondo para cada bloque. En la etapa 94, se detecta el bloque con el mayor número de píxeles pertenecientes a la región de la imagen de código, y se detecta el punto central del bloque (o el punto central de la región de la imagen de código perteneciente al bloque).
La región de la totalidad de la imagen se divide en una pluralidad de bloques, y luego se explora la región de la imagen de código, y de ese modo se pueden reducir las operaciones aritméticas requeridas para tratamiento. En un caso en el que la forma de la imagen de código es cuadrangular y la posición de la imagen de código se conoce con poca aproximación, se pueden reducir las operaciones aritméticas. En un caso en el que el número de píxeles que pertenecen a la región de la imagen de código en cada bloque se calcule en la Figura 10A, el número de píxeles perteneciente a la imagen de código es máximo en el bloque 6, y disminuye por orden desde los bloques 2, 3 y 5. Así, en un caso en el que se realice una operación aritmética de imagen solamente en la región de los bloques 2, 3, 5 y 6, no en los bloques 1, 4, 7, 8 ó 9, donde no hay píxeles o hay pocos píxeles pertenecientes a la región de la imagen de código, se puede reducir mucho el número de operaciones aritméticas a realizar. Como se muestra en la Figura 10B, en un caso en el que la imagen de código comprende una pluralidad de imágenes separadas entre sí en el espacio, hay una pluralidad de regiones de la imagen de código. Preferiblemente, en tal caso, se explora en primer lugar la región de imagen que tenga el máximo tamaño entre la pluralidad de imágenes de código, que se supone que es la región de la imagen de código, y luego se comprueban por orden de tamaño las otras regiones de imagen. Subsiguientemente, se realiza la etapa de buscar la región de un código, en la que se forma la imagen de código, basándose en el punto central buscado en la etapa de dividir en bloques la imagen estándar. En la etapa 95, se busca la totalidad de la imagen estándar desde el punto central, y se detecta una región candidata a ser la región de la imagen de código. En la etapa 96, se detecta el punto característico de la región candidata, y de ese modo se determinan la forma y el tipo de la imagen de código. En esta etapa, se busca la región de una figura formada por puntos de circunscripción de la región candidata, que podría resultar en una región cuadrangular o en una región circular, y la imagen comprendida de la región detectada se convierte en una imagen de código. Y luego, las regiones de celda en la imagen de código se discriminan unas de otras en la etapa 97, y se reconocen los colores estándar representados en una celda correspondiente basándose en los colores de píxeles pertenecientes a cada región de celda en la etapa 96.
Las Figuras 11A hasta 11C ilustran la etapa de detectar la región candidata, y las regiones 104 marcadas por una línea inclinada designan una región de imagen de código, que se obtendrá realmente, y se detectan las regiones candidatas 103 incluyendo las regiones 104. La etapa es para simplificar un proceso mediante la selección de una región de imagen parcial necesaria de entre todas las imágenes y para realizar un procedimiento aritmético futuro con respecto a la imagen parcial. Se obtiene un punto de extremo (es decir, un punto que tenga valores mínimo y máximo en las coordenadas x e y) de una región de imagen estimado como la imagen de código, y se determina una figura que comprende el punto de extremo como las regiones candidatas 103. Por ejemplo, se obtienen las coordenadas que tienen valores mínimo y máximo en un eje x y valores mínimo y máximo en un eje y entre píxeles pertenecientes a una imagen excluyendo una región de fondo de las regiones 102 de los bloques 2, 3, 5, y 6 de la Figura 10A, y se determina como una región candidata una figura (cuadrangular) formada por las coordenadas.
Un método para buscar una región candidata incluye un método de búsqueda por reducción y un método de búsqueda por extensión. Considerando el método de búsqueda por extensión, se busca una región que corresponde a la imagen de código mientras se extiende hasta una parte exterior del punto central. Es decir se busca la región de imagen de código extendiéndose hasta una parte determinada como la región de imagen de código que no es la región de fondo. Considerando el método de búsqueda por reducción, se busca la región de imagen de código mediante su reducción hasta el punto central. desde el exterior. En un caso en el que la imagen de código está formada por un cuadrilátero, la región candidata se expresa como una coordenada superior izquierda y una coordenada superior derecha. En un caso en el que la imagen de código está formada por un círculo, la región candidata se expresa como la coordenada del punto central y la longitud del radio.
Un método para determinar un punto característico incluye un método de búsqueda por diagonal o un método de detección de límite. Considerando el método de búsqueda por diagonal (véase Figura 12A) el punto característico se busca usando un segmento que tiene una pendiente temporal en la región candidata. Por ejemplo, en un caso en el que la imagen de código esté formada por cuadriláteros, con el fin de buscar los vértices de la imagen de código cuadrangular en la región candidata, se traza una diagonal que forme un ángulo de 45º en los vértices de la región candidata, y de ese modo se busca una región cuadrangular formada de puntos que establecen contacto externamente con la diagonal. Como se muestra en la Figura 12A, un punto en el que un píxel perteneciente a la región de imagen de código que no es la región de fondo mediante el uso de la diagonal que forma un ángulo de 45º empezando en cada vértice de la región candidata, establece contacto con la diagonal, se determina como el punto característico. La diagonal con
respecto a cada vértice de la región candidata tiene una dirección predeterminada tal como a izquierdas o a derechas.
Las Figuras 12B y 12C ilustran con mayor detalle el método de búsqueda por diagonal. En la Figura 12B, en un caso en el que el punto característico se detecta desde la diagonal en una dirección l, si una pluralidad de píxeles contactan con la diagonal como se muestra en la figura, un píxel (píxel a del dibujo) detectado el último se determina como el punto característico. A continuación, se realiza la etapa en las direcciones 2, 3 y 4, y de ese modo se detectan puntos característicos deseados de la región de imagen de código. Entretanto, en un caso en el que los puntos característicos se detecten por el método de detección por diagonal, podrían no detectarse todos los puntos característicos deseados. Por ejemplo, en el caso de una imagen de código cuadrangular, deberían extraerse cuatro puntos característicos, pero sólo se pueden extraer tres puntos característicos. En la Figura 12C, en un caso en el que el número de los puntos característicos no es suficiente, se realiza adicionalmente la etapa de buscar en direcciones horizontal y vertical. En otras palabras, los píxeles de la región de imagen de código más próximos a la superficie límite de la región candidata se detectan en las direcciones 5, 6, 7 y 8. Los puntos característicos determinados a través del método de búsqueda por diagonal podrían ser diferentes de los puntos característicos determinados por la búsqueda en las direcciones horizontal y vertical. En ese caso, o bien el valor medio de dos coordenadas o una de las dos coordenadas se selecciona para determinar el punto característico.
Considerando el método de detección de límite (véase Figura 13), se sigue el límite externo de la región de imagen de código incluida en la región candidata, y de ese modo se buscan los puntos característicos, tales como los vértices de la imagen de código. En primer lugar, las coordenadas que componen un límite se eligen como coordenadas candidatas. A continuación, en un caso en el que se compruebe la pendiente de coordenadas candidatas adyacentes y no exista variación en la pendiente entre las coordenadas, se usa un método para quitar las coordenadas de las coordenadas candidatas (método basado en pendiente). Por ejemplo, en un caso en el que las coordenadas candidatas adyacentes son (x_{i-1}, y_{i-1}), (x_{i}, y_{i}), y (x_{i+1}, y_{i+1}). si a_{1} = (y_{i} - y_{i+1})/(x_{i} - x_{i+1}) y a_{2} = (y_{i+1} -y_{i})/(xi_{+1} - x_{i} y a_{1} es igual a a_{2}, o una diferencia entre a_{1} y a_{2} es menor que un valor predeterminado, la coordenada (x_{i}, y_{i}) no se determina como el punto característico.
Adicionalmente, se podría adoptar un método basado en distancia además del método basado en pendiente. En un caso en el que una distancia entre las coordenadas candidatas adyacentes de punto característico es menor que una distancia predeterminada, las coordenadas se quitan de las coordenadas candidatas de punto característico. Es decir, en un caso en el que una distancia
105
entre las dos coordenadas candidatas adyacentes (x_{i+1}, y_{i+1}) y (x_{i}, y_{i}) es menor que el valor predeterminado, la coordenada (x_{i}, y_{i}) se quita de las coordenadas candidatas.
Se comprueban el cierre del límite y el ángulo y longitud del mismo usando los puntos característicos, y de ese modo se pueden buscar la forma y el tipo de la imagen de código. A título de ejemplo, en un caso en el que una imagen de código se podría formar de 5 x 5 ú 8 x 8 celdas, se podrían discriminar los tipos de la imagen de código de acuerdo con la relación entre la anchura y la longitud. Es decir, en un caso en el que la relación entre la anchura y la longitud es similar, la imagen de código se podría determinar como un cuadrado, y podría reconocerse como una imagen de código con matriz de 5 x 5. Por otra parte, en un caso en el que una diferencia entre la anchura y la longitud es mayor que un valor predeterminado, la imagen de código se podría determinar como una imagen de código bidimensional de 8 x 5. Adicionalmente, el punto central de las celdas que componen la imagen de código se podría averiguar usando una relación de longitud y la pendiente. Además, se determina si la imagen de código se ha extraído adecuadamente considerando el tamaño o área, y la relación de longitud de la imagen de código.
Las Figuras 14A hasta 14C ilustran la etapa de dividir celdas pertenecientes a la región de imagen de código y de hallar el punto central de las celdas. Refiriéndose a la Figura 14A, la imagen de código en el presente invento se determina como una imagen cuadrangular de 4 x 4. La anchura y la longitud de la imagen de código se dividen por 4, respectivamente, y se obtienen las coordenadas del punto central de las celdas divididas como se ha mostrado en la Figura 14B.
La Figura 14C ilustra un algoritmo para buscar los puntos centrales de las celdas. En un caso en el que la longitud de un lado de la imagen de código es L, y la longitud sobre un eje X es W, y la longitud sobre un eje Y es H cuando se traza una línea perpendicular hacia los ejes X e Y basándose en la longitud l del lado de la imagen de código, la posición de X_{Ci} e Y_{Ci} usada para buscar el centro de una celda i-th que está en contacto con el lado se expresa mediante la Ecuación 6. En este caso, C es el número de celdas situadas en filas o columnas de un código de colores.
106
La coordenada del punto que contacta el lado del código se obtiene por la Ecuación 6, y en un caso en el que la coordenada está unida al punto del mismo orden que el de un lado opuesto, se genera el punto de contacto en el que dos segmentos se intersecan, que se determina como el punto central de cada celda. La Ecuación 6 es ideal solamente para un caso en el que un ángulo de fotografía de primer plano de la imagen de código y una cámara es de 90º. Así, en un caso en el que el ángulo de primer plano es pequeño (es decir, en un caso en el que la cámara está boca abajo), se produce distorsión en la imagen de código, y por tanto se podrían generar errores. Por ejemplo, en un caso en el que el ángulo de primer plano es excesivamente pequeño, la imagen de código del cuadrilátero original se introduce como entrada en la forma de un trapezoide. Por tanto, con el fin de corregir esto, se podría requerir una operación aritmética adicional, si bien, en la mayoría de los casos, es suficiente con aplicar la Ecuación 6. En particular, aunque la distorsión es importante, si la imagen tiene un tamaño grande, se podría buscar el punto central de las celdas usando la Ecuación anterior o una Ecuación auxiliar. Además del método anterior, la línea límite, o la región límite entre celdas, que se inserta cuando se genera la imagen de código, se detecta considerando la distribución de colores de píxeles en la región de imagen de código, y por tanto las celdas se podrían discriminar sobre esta base.
En la etapa 68, el descodificador descodifica la imagen de código mediante el uso de los datos buscados a partir de la parte de extracción 58 de punto característico y reproduce los datos de código. Las etapas de determinar el color/sombra de cada célula y de comprobar los datos de paridad se realizan usando la variable ambiental de color y la entrada de información de análisis (modo de color y tipo de imagen de código) mediante el controlador 58. El valor del color o de la sombra detectados para cada celda se sustituye por un carácter, número o símbolo correspondientes. Luego, se puede determinar una anormalidad por medio de una operación de paridad, y el carácter, número o símbolo correspondientes se entrega como salida en un caso en el que no exista anormalidad. Las etapas anteriormente expuestas se realizan en todas las celdas, y se generan datos de código deseados mediante la conexión del carácter, número, o símbolo obtenidos con respecto a cada celda.
La posición de cada celda se comprueba mediante la coordenada central de cada entrada de celda de la parte de extracción 56 de punto característico, y sobre esta base se extrae un número predeterminado de píxeles, y de ese modo se pueden determinar los colores. Los colores se pueden determinar usando el modo de RGB una vez que se ha obtenido el valor medio de los píxeles muestreados, o bien se pueden determinar los colores para representar una celda correspondiente después que se haya obtenido el ángulo de los colores usando el modo de HSV. En el caso de la determinación de colores usando el modo de RGB, el valor para cada uno de los componentes de RGB de los píxeles muestreados en la imagen en color es de 0 a 255 después de experimentar la etapa de convertir colores mediante la variable ambiental de color, y de ese modo los colores se encuentran en un estado de color estándar. De ese modo, el color que tenga la máxima frecuencia entre los píxeles muestreados se determina como el color de una celda correspondiente. En un caso en el que la imagen de color que no se ha convertido a los colores estándar, se introduzca como entrada, se aplica la variable ambiental de color a los píxeles muestreados, y los píxeles muestreados se convierten a los colores estándar, y los colores que tienen la máxima frecuencia se determinan como colores de una celda correspondiente. En el caso de la determinación de color por el modo de HSV, los valores de RGB de los píxeles muestreados se determinan después de haberse convertido por medio de la conversión de HSV.
En el caso de la imagen de código representada como un nivel de tres grises, se obtienen los valores promediados de cada una de las celdas, y en un caso en el que los valores promediados están alineados por orden de tamaño, las partes que tengan la frecuencia relativamente elevada de distribución de los valores promediados alineados se hacen converger en tres lugares, y también hay intervalos entre los tres lugares, que tienen una frecuencia relativamente baja. Se obtienen el punto central del intervalo más largo y el punto central del intervalo más largo del segundo lugar, y luego, si los valores correspondientes a los dos puntos centrales se comparan con los valores promediados de cada una de las celdas, se puede determinar si cada celda pertenece a qué nivel (uno entre negro, gris y blanco). Por ejemplo, se obtienen los valores promediados de los valores para R, G y B de los píxeles muestreados de una celda, y de ese modo se podrían usar como el valor del brillo. Se comprueba la distribución del valor de brillo usando los valores de brillo obtenidos para cada celda, y se dividen en tres grupos tales como negro, blanco y gris. Luego, una sombra de una celda se determina como la sombra más próxima al valor de brillo de la celda.
En el caso de la imagen de código mostrada en la Figura 2E, la región de datos se discrimina de las regiones auxiliares (la región de paridad, la región de referencia y/o la región de control) en la imagen de código. En un caso en el que exista la región de referencia, los colores, la sombra, las formas y los patrones, que están representados en cada celda, se determinan usando la región de referencia, y en un caso en el que exista la región de paridad, se determinan los errores de las celdas de datos.
La etapa de buscar formas, colores, patrones, y caracteres, que están incluidos en la imagen de código, se requiere en la etapa de descodificar, y además de ésta, la etapa de corregir una imagen distorsionada. En este caso, es posible la determinación de color usando uno o más métodos entre el modo de rojo, verde y azul (RGB),el modo de matiz, saturación y valor (HSV), el modo de azul-verde, magenta y amarillo (CMY), y el modo de matiz, intensidad luminosa y saturación (HLS).
Los valores de código de cada una de las celdas situadas en la región de datos y/o en la región auxiliar se extraen para descodificar. En un caso en el que exista la región de referencia, los colores (o la sombra) de referencia, las formas de referencia y/o los patrones de referencia como una referencia para interpretar datos en todas las regiones se realizan mediante la detección de colores o sombra de una celda de referencia. Se detectan los colores, formas y patrones de las celdas situadas en la región de datos, la región de paridad de la región de control, y luego se obtiene una diferencia entre el color detectado y los colores de referencia, las formas de referencia y/o los patrones de referencia, y de ese modo la diferencia se convierte en los valores de código para cada una de las celdas. En un caso en que no haya región de referencia, se podrían obtener los valores de código correspondientes a cada una de las celdas de acuerdo con los colores o sombra, formas y patrones, que sean leídos por el dispositivo de entrada de imagen.
En un caso en el que exista región de paridad, se realiza la etapa de comprobar errores de la paridad con respecto a cada fila y columna de la imagen de código mediante los valores de código (es decir, datos de paridad) obtenidos de la región de paridad. Las variables ambientales optimizadas a la iluminación usualmente utilizada, y los valores de peso de las mismas, se podrían preconfigurar para guardarlos en un programa o una base de datos de descodificación de tal manera que el usuario pueda seleccionar la variable ambiental más adecuada para el ambiente propio. Se puede considerar la ocurrencia de errores de paridad en el sentido de que hay errores en la lectura de colores por las variables ambientales actualmente configuradas, y en este caso, se adopta otra variable ambiental para volver a leer los colores. Si fuese necesario, se podría buscar la dirección o la posición de la imagen de código basándose en los datos de paridad.
Los valores de código de cada una de las celdas obtenidos mediante la etapa anterior se convierten en datos de código constituidos por caracteres reconocibles que incluyen números y símbolos mediante la tabla de conversión de código (véase Figura 3B). En un caso en el que exista una región de control para configurar temas relacionados con órdenes de ejecución o servicios, que estén disponibles usando datos de código, en la imagen de código, las órdenes de ejecución o los servicios se proveen de acuerdo con los datos configurados en la región de control, y si no es así, se podrían proveer servicios básicos designados en un programa.
La Figura 15 es un diagrama de bloques de acuerdo con una tercera realización del presente invento, y la Figura 16 es un diagrama de flujo que ilustra el funcionamiento del aparato mostrado en la Figura 15. Comparado con el aparato mostrado en la Figura 5, existe una diferencia en el sentido de que el aparato de la Figura 5 convierte previamente los colores de cada píxel con respecto a la imagen no elaborada en colores estándar por medio de un filtro de colores, y realiza un tratamiento de imagen, y el aparato de la Figura 15 extrae de la imagen no elaborada la región de imagen de código deseada y convierte los colores de cada uno de los píxeles (de un píxel muestreado entre varios píxeles) pertenecientes a la región de imagen de código en los colores estándar usando las variables ambientales por medio del filtro de colores. El resto de las funciones y de la operación son básicamente similares, y por conveniencia no se muestra una memoria. De aquí en adelante en la presente memoria se describirá una diferencia con respecto al aparato mostrado en la Figura 5 y los otros se aplican igualmente sólo si no hay ningún problema con el orden de tratamiento o con el funcionamiento.
El aparato para reconocer un código mostrado en la Figura 15 adquiere la imagen no elaborada en la que está incluida la imagen de código, en una parte 151 de adquisición de imagen, divide los colores o la sombra de la imagen no elaborada en dos colores de acuerdo con un valor de referencia predeterminado en una parte 153 de conversión codificada en sistema binario, generando de ese modo una imagen codificada en sistema binario.
Una parte 154 de pre-tratamiento configura un color de una parte que excluye una parte de imagen de código en la imagen codificada en sistema binario y un color de fondo específico, configura un color de una parte de la imagen no elaborada correspondiente a la parte configurada por el color de fondo en la imagen codificada en sistema binario, como el color de fondo, discriminando de ese modo de otras partes la parte de imagen de código. Una parte 155 de extracción de punto característico extrae una pluralidad de celdas incluidas en la parte de imagen de código y reconoce los colores o la sombra representados en cada celda.
Un filtro de colores 156 configura variables ambientales considerando un ambiente reinante en un tiempo en el que se adquiere la imagen no elaborada, corrige los colores o la sombra reconocidos en cada celda incluidos en la parte de imagen de código mediante las variables ambientales, convierte los colores o la sombra corregidos en una pluralidad de colores estándar o de sombra estándar usados para generar la imagen de código, generando de ese modo una imagen estándar representada por los colores estándar o por la sombra estándar.
Un descodificador 157 extrae un correspondiente carácter, número, o símbolo de los colores o de la sombra reconocidos en cada celda de la imagen de código de acuerdo con una relación entre un carácter, número, o símbolo y los correspondientes colores o sombra, y genera datos de código.
A continuación se describe el funcionamiento del aparato mostrado en la Figura 15 con referencia a la Figura 16. En la etapa 161, se adquiere la imagen no elaborada en la que está contenida la imagen de código. En la etapa 162, los colores o la sombra de la imagen no elaborada se dividen en dos colores de acuerdo con el valor de referencia predeterminado, y de ese modo se genera la imagen codificada en sistema binario. En la etapa 163, la parte que excluye la parte de imagen de código se representa mediante el color de fondo específico basándose en la imagen codificada en sistema binario. En la etapa 164, la parte de la imagen no elaborada que corresponde a la parte representada por el color de fondo en la imagen codificada en sistema binario se trata como el color de fondo, discriminando de ese modo de las otras partes la parte de imagen de código. En la etapa 165, se extrae la pluralidad de celdas incluidas en la parte de imagen de código, y luego los colores o la sombra representados en cada celda se reconocen en la etapa 166, se configuran las variables ambientales teniendo en cuenta el ambiente en un tiempo en el que se adquirió la imagen no elaborada, y se corrigen por las variables ambientales los colores o la sombra reconocidos en cada celda incluida en la imagen de código. En la etapa 167, los colores o la sombra corregidos se convierten en una pluralidad de colores estándar o sombra estándar, que se usan para generar la imagen de código, y de ese modo se genera la imagen estándar representada por los colores estándar o la sombra estándar. En la presente realización, como ya se conocen la posición del punto central de cada celda y el tipo de un código, se muestrean píxeles predeterminados basándose en el punto central de cada celda, y se aplican las variables ambientales solamente a los píxeles muestreados, y de ese modo se podrían discriminar los colores estándar o la sombra estándar de cada celda. Preferiblemente, los datos relacionados con los colores estándar o la sombra estándar discriminados de cada celda se guardan en una memoria y se usan para generar datos de código. Como resultado, se podrían omitir las etapas requeridas para generar la imagen estándar.
En la etapa 168, se extrae un carácter, número, o símbolo correspondientes de los colores o la sombra reconocidos en cada celda de la imagen de código de acuerdo con la relación entre un carácter, número, o símbolo y los colores o la sombra correspondientes, y de ese modo se generan datos de código.
El método para reconocer un código de acuerdo con el presente invento se puede realizar en un programa de ordenador. El programa se puede ejecutar en medios usados en un ordenador y en un ordenador digital común para operar el programa. El programa se puede guardar en medios legibles por ordenador. Los medios pueden incluir medios magnéticos tales como un disquete o un disco duro y medios ópticos tales como un CD-ROM o un disco de vídeo digital (en adelante DVD). Asimismo, el programa se puede transmitir por ondas portadoras tales como Internet. También, los medios legibles por ordenador se dispersan en un sistema de ordenadores conectados por redes y se pueden guardar como códigos legibles por ordenador e implementarse por un método de dispersión.
Aplicabilidad industrial
Como se ha descrito anteriormente, el aparato para reconocer un código y el método para dicho reconocimiento de acuerdo con el presente invento pueden recibir una imagen de código en la que están codificados por colores o sombra unos datos predeterminados, discriminar con precisión los colores o sombra originales independientemente de un ambiente en el que está introducida la imagen de código, y de ese modo se pueden obtener datos de código deseados.
Aunque este invento se ha mostrado particularmente y descrito con referencia a realizaciones predeterminadas del mismo, los expertos en la técnica entenderán que podrían realizarse en el mismo diversos cambios en forma y detalles sin apartarse del alcance del invento según se define mediante las reivindicaciones que se adjuntan como apéndice.

Claims (7)

1. Un aparato para reconocer un código, cuyo aparato comprende:
una parte (17) de configuración de código para establecer una relación entre el carácter, número o símbolo y el color o la sombra correspondientes;
una parte (11) de adquisición de imagen para adquirir una imagen no elaborada en la que está contenida una imagen de código, cuyo aparato se caracteriza por:
una parte (13) de tratamiento de imagen para discriminar de otras áreas un área de la imagen de código, extraer una pluralidad de celdas incluidas en el área de imagen de código, y reconocer el color estándar o la sombra estándar representados en cada una de las celdas, y para corregir los colores o sombras reconocidos con respecto a cada una de las celdas incluidas en el área de imagen de código, usar una variable ambiental que se configura para discriminar los colores o sombras de la imagen no elaborada teniendo en cuenta un ambiente en el que está introducida la imagen no elaborada; y una parte (15) de conversión de código para convertir los colores o sombras corregidos en una pluralidad de colores estándar o sombras estándar usados para generar la imagen de código, y para extraer un carácter, número o símbolo correspondientes del color o de la sombra reconocidos en cada una de las celdas de la imagen de código de acuerdo con la relación establecida en la parte (17) de configuración de código, para generar datos de código.
2. El aparato de la reivindicación 1, en el que la parte (11) de tratamiento de imagen divide los colores o las sombras de la imagen no elaborada en dos colores de acuerdo con un valor de referencia predeterminado para generar una imagen codificada en sistema binario, y extrae un área que excluye el área de imagen de código de la imagen codificada en sistema binario para configurar un color del área extraída como un color de fondo.
3. El aparato de la reivindicación 2, en el que la parte (11) de tratamiento de imagen configura colores de píxeles situados en un borde de la imagen codificada en sistema binario como un color de fondo, y configura colores de píxeles conectados a los píxeles configurados por el color de fondo como el color de fondo, discriminando de ese modo de otras áreas el área de imagen de código.
4. El aparato de la reivindicación 2, en el que la parte (11) de tratamiento de imagen recibe una imagen en la que el área de imagen de código y las otras áreas están divididas entre sí por el color de fondo, divide la imagen en una pluralidad de bloques, detecta una región que tiene un color o sombra que no es el color de fondo, de cada uno de los bloques, selecciona un bloque que tenga la región de mayor tamaño entre la pluralidad de bloques, detecta un punto central del área de imagen de código contenida en el bloque, y busca toda la imagen basándose en el punto central, detectando de ese modo como el área de imagen de código la región que tiene un color o sombra que no es el color de fondo
5. El aparato de la reivindicación 1, en el que la parte (11) de tratamiento de imagen reconoce un color o una sombra que tiene la mayor distribución entre los colores o sombras de píxeles pertenecientes a cada celda, como el color o la sombra de una celda correspondiente.
6. Un método para reconocer un código, cuyo método comprende las etapas de:
adquirir una imagen no elaborada en la que está contenida una imagen de código; cuyo método se caracteriza por las etapas de:
discriminar de otras áreas el área de imagen de código, extraer una pluralidad de celdas incluidas en el área de imagen de código, y reconocer el color estándar o la sombra estándar representados en cada una de las celdas;
corregir los colores o las sombras reconocidos con respecto a cada una de las celdas incluidas en el área de imagen de código, usando una variable ambiental que se configura para discriminar colores o sombras de la imagen no elaborada teniendo en cuenta un ambiente en el que esté introducida la imagen no elaborada;
convertir los colores o las sombras corregidos en una pluralidad de colores estándar o de sombras estándar usadas para generar la imagen de código; y
extraer un carácter, número o símbolo correspondientes del color o de la sombra reconocidos en cada una de las celdas de la imagen de código de acuerdo con una relación entre el carácter, número o símbolo y el color o la sombra correspondientes, para generar datos de código.
7. Unos medios legibles de ordenador que guardan un programa para implementar el método de la reivindicación 6.
ES02802741T 2001-11-03 2002-05-13 Aparato y metodo para reconocer un codigo. Expired - Lifetime ES2303566T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020010068378A KR100339691B1 (ko) 2001-11-03 2001-11-03 코드인식을 위한 장치 및 그 방법
KR10-2001-0068378 2001-11-03

Publications (1)

Publication Number Publication Date
ES2303566T3 true ES2303566T3 (es) 2008-08-16

Family

ID=19715674

Family Applications (1)

Application Number Title Priority Date Filing Date
ES02802741T Expired - Lifetime ES2303566T3 (es) 2001-11-03 2002-05-13 Aparato y metodo para reconocer un codigo.

Country Status (9)

Country Link
US (1) US6981644B2 (es)
EP (1) EP1456816B1 (es)
JP (1) JP4016342B2 (es)
KR (1) KR100339691B1 (es)
CN (1) CN1310187C (es)
AT (1) ATE387676T1 (es)
DE (1) DE60225329T2 (es)
ES (1) ES2303566T3 (es)
WO (1) WO2003041014A1 (es)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4189506B2 (ja) 2000-06-09 2008-12-03 コニカミノルタビジネステクノロジーズ株式会社 画像処理のための装置、方法及び記録媒体
US8682077B1 (en) 2000-11-28 2014-03-25 Hand Held Products, Inc. Method for omnidirectional processing of 2D images including recognizable characters
JP2004165863A (ja) * 2002-11-12 2004-06-10 Murata Mach Ltd カラー画像送信装置
JP3996520B2 (ja) * 2003-01-30 2007-10-24 株式会社デンソーウェーブ 二次元情報コードおよびその生成方法
JP3880553B2 (ja) 2003-07-31 2007-02-14 キヤノン株式会社 画像処理方法および装置
JP4205554B2 (ja) * 2003-11-11 2009-01-07 富士フイルム株式会社 帳票処理装置
TWI249141B (en) * 2004-07-12 2006-02-11 Sunplus Technology Co Ltd Document having index data and system for reading document having index data
US20060081711A1 (en) * 2004-09-30 2006-04-20 Junxiang Zhao Color-identifying system for colored barcode and a method thereof
US7751629B2 (en) 2004-11-05 2010-07-06 Colorzip Media, Inc. Method and apparatus for decoding mixed code
KR101035762B1 (ko) * 2005-01-07 2011-05-20 삼성전자주식회사 개선된 패턴 데이터의 인식 장치 및 방법
US20060180672A1 (en) * 2005-02-11 2006-08-17 Chu Lonny L Method and system for multi-dimensional symbol coding system
JP4393411B2 (ja) 2005-03-29 2010-01-06 株式会社東芝 画像処理装置、画像処理プログラムおよび画像処理方法
KR100702292B1 (ko) * 2005-05-03 2007-03-30 (주)아이미디어아이앤씨 이미지 코드 및 그의 인식방법과 인식장치
KR100703527B1 (ko) * 2005-07-12 2007-04-03 삼성전자주식회사 핫코드 인식률 향상을 위한 이미지 전처리 방법 및 그 장치
DE102005034374B3 (de) * 2005-07-22 2007-03-01 Siemens Ag Verfahren zur automatischen Erstellung einer Hintergrundmaske bei Bildern mit verrauschten Hintergrundbereichen, Anwendungen dazu sowie ein Kernspintomographiegerät zur Durchführung der Verfahren und Computersoftwareprodukt
EP1826705A1 (de) 2006-02-25 2007-08-29 F.Hoffmann-La Roche Ag Analytisches Verbrauchsmittel und Anordnung zum Auslesen von Informationen
US8789756B2 (en) * 2006-02-25 2014-07-29 Roche Diagnostics Operations, Inc. Test element coding apparatuses, systems and methods
SG138575A1 (en) * 2006-06-23 2008-01-28 Colorzip Media Inc Method of classifying colors of color based image code
KR100914515B1 (ko) 2006-06-23 2009-09-02 주식회사 칼라짚미디어 색상 기반 이미지 코드의 색상 판별 방법
US8113432B2 (en) * 2006-07-19 2012-02-14 B-Core Inc. Apparatus for recognizing an optical recognition code in which a code symbol of a 1-dimensional color bit code indicative of certain data is divided into a plurality of code symbols
WO2009060942A1 (ja) * 2007-11-09 2009-05-14 B-Core Inc. 光学式認識コード及びそのマーキング方法及びその読み取り方法、並びに、光学式認識コードをマーキングした物品、並びに、色彩認識方法及びプログラム、並びに、色彩配列による自動認識コード及びそれが付された物品
US8172145B2 (en) * 2007-11-20 2012-05-08 Datalogic ADC, Inc. Enhanced virtual scan line processing
KR101428054B1 (ko) 2007-12-13 2014-08-07 주식회사 엘지씨엔에스 매체이미지 검출장치 및 방법, 그리고 그를 이용한매체취급시스템
JP4910011B2 (ja) * 2009-03-24 2012-04-04 ビーコア株式会社 光学式シンボル及びそれを付した物品
GB0812266D0 (en) * 2008-07-04 2008-08-13 Tyco Electronics Raychem Nv Improvements in or relating to an optical fibre organiser tray
KR100963240B1 (ko) 2008-08-07 2010-06-10 광주과학기술원 컬러 마커 인식 방법 및 장치
US8554579B2 (en) 2008-10-13 2013-10-08 Fht, Inc. Management, reporting and benchmarking of medication preparation
RU2403617C2 (ru) * 2008-11-10 2010-11-10 Федеральное государственное унитарное предприятие "Российский Федеральный Ядерный Центр - Всероссийский Научно-Исследовательский Институт Технической Физики имени академика Е.И. Забабахина" (ФГУП "РФЯЦ-ВНИИТФ им. академ. Е.И. Забабахина") Способ автоматизированного распознавания идентификационного номера
US8459556B2 (en) * 2009-01-09 2013-06-11 Datalogic ADC, Inc. Prioritized virtual scan line processing
KR100920663B1 (ko) * 2009-01-22 2009-10-14 (주) 이토프 2차원 코드의 인식 방법
JP4499825B1 (ja) * 2009-09-30 2010-07-07 広行 遠藤 二次元コード,二次元コードリーダおよびプログラム
CN102576415B (zh) 2009-09-30 2015-11-25 株式会社希福特 二维码、二维码阅读器和程序
US20130026240A1 (en) * 2010-01-18 2013-01-31 Manabu Hagiwara Two-dimensional code, code generation system, program, and printed medium
KR101169140B1 (ko) 2010-02-17 2012-07-30 고려대학교 산학협력단 문자 영역 추출을 위한 영상 생성 장치 및 방법
US8505823B2 (en) * 2010-06-30 2013-08-13 International Business Machine Corporation Noise removal from color barcode images
JP4724801B1 (ja) 2010-07-30 2011-07-13 株式会社シフト 二次元コードリーダおよびプログラム
CN102646187B (zh) * 2011-02-20 2016-08-03 深圳市心艺来文化有限公司 彩色图形编码及识别方法
FR2973264B3 (fr) * 2011-04-01 2013-05-31 Envac Optibag Ab Procede et systeme pour identifier des conteneurs de dechets sur la base d'un motif
NO20110508A1 (no) * 2011-04-01 2012-09-03 Envac Optibag Ab Fremgangsmåte og system for identifisering av avfallsbeholdere på grunnlag av mønster
WO2013010893A1 (en) 2011-07-15 2013-01-24 Sanofi-Aventis Deutschland Gmbh Drug delivery device with electro-mechanic drive mechanism
EP2740504B1 (en) * 2011-07-15 2020-08-19 Sanofi-Aventis Deutschland GmbH A drug delivery device with illumination
KR101200378B1 (ko) 2011-08-30 2012-11-12 인하대학교 산학협력단 국소 각 위상을 이용한 강건한 텍스처 특징 추출 방법
IN2014CN02941A (es) 2011-10-10 2015-07-03 Yewon Comm Co Ltd
US9111186B2 (en) 2011-10-12 2015-08-18 University Of Rochester Color barcodes for mobile applications: a per channel framework
US8931700B2 (en) 2011-12-23 2015-01-13 Konica Minolta Laboratory U.S.A., Inc. Four dimensional (4D) color barcode for high capacity data encoding and decoding
US8915440B2 (en) 2011-12-23 2014-12-23 Konica Minolta Laboratory U.S.A., Inc. Four dimensional (4D) color barcode for high capacity data encoding and decoding
JP5904889B2 (ja) * 2012-06-29 2016-04-20 シャープ株式会社 情報処理装置
JP5907823B2 (ja) * 2012-06-29 2016-04-26 シャープ株式会社 加熱調理器
KR20200018728A (ko) 2012-10-26 2020-02-19 백스터 코포레이션 잉글우드 의료 투여분 조제 시스템을 위한 개선된 이미지 취득
NZ716476A (en) 2012-10-26 2018-10-26 Baxter Corp Englewood Improved work station for medical dose preparation system
JP5822411B2 (ja) * 2013-08-12 2015-11-24 株式会社アポロジャパン 画像情報のコード変換装置、画像情報のコード変換方法、画像コードを用いた画像関連情報提供システム、画像情報のコード変換プログラム、及びそのプログラムを記録した記録媒体
GB2518443A (en) * 2013-09-24 2015-03-25 Ibm Method for detecting phishing of a matrix barcode
US10235596B2 (en) * 2013-11-06 2019-03-19 Research & Business Foundation Sungkyunkwan University System and method for transferring data using image code, outputting image code on display device, and decoding image code
SG11201610717WA (en) 2014-06-30 2017-01-27 Baxter Corp Englewood Managed medical information exchange
US11575673B2 (en) 2014-09-30 2023-02-07 Baxter Corporation Englewood Central user management in a distributed healthcare information management system
US11107574B2 (en) 2014-09-30 2021-08-31 Baxter Corporation Englewood Management of medication preparation with formulary management
CN104361381A (zh) * 2014-11-17 2015-02-18 深圳市华鑫精工机械技术有限公司 一种双界面卡和双界面卡的封装方法
US10818387B2 (en) 2014-12-05 2020-10-27 Baxter Corporation Englewood Dose preparation data analytics
TWI533227B (zh) * 2015-02-26 2016-05-11 楊東華 色彩編解碼方法與系統
EP3265989A4 (en) 2015-03-03 2018-10-24 Baxter Corporation Englewood Pharmacy workflow management with integrated alerts
US9805662B2 (en) * 2015-03-23 2017-10-31 Intel Corporation Content adaptive backlight power saving technology
USD790727S1 (en) 2015-04-24 2017-06-27 Baxter Corporation Englewood Platform for medical dose preparation
US10628736B2 (en) * 2015-09-24 2020-04-21 Huron Technologies International Inc. Systems and methods for barcode annotations for digital images
WO2017082607A1 (en) 2015-11-09 2017-05-18 Samsung Electronics Co., Ltd. Electronic device and operating method of the same
KR20170054900A (ko) * 2015-11-10 2017-05-18 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
KR20170121915A (ko) * 2016-04-26 2017-11-03 예스튜디오 주식회사 스마트 펜을 이용한 그림 그리기 방법 및 시스템
MA39233B1 (fr) * 2016-07-27 2018-11-30 Univ Abdelmalek Essaadi Tetouan Procédé d'identification à distance du code qr au moyen d'une caméra.
US9959586B1 (en) * 2016-12-13 2018-05-01 GoAnimate, Inc. System, method, and computer program for encoding and decoding a unique signature in a video file as a set of watermarks
JP2018136903A (ja) * 2017-02-21 2018-08-30 エンゼルプレイングカード株式会社 遊戯用代用貨幣の枚数計測システム
EP3877948A4 (en) 2018-11-05 2022-11-23 Huron Technologies International Inc. SYSTEMS AND METHODS FOR MANAGEMENT OF MEDICAL IMAGES
US10896306B2 (en) * 2019-04-29 2021-01-19 Ncr Corporation Barcode scanner optimization
CN111046996B (zh) * 2019-11-27 2023-08-04 湖南省科腾信安智能科技有限公司 一种彩色qr码生成和识别方法
CN119648092A (zh) * 2019-12-26 2025-03-18 北京极智嘉科技股份有限公司 取货机器人、取货方法、计算机可读存储介质
KR102214421B1 (ko) * 2020-04-20 2021-02-09 조영근 절대 시간을 이용한 영상 편집 시스템 및 그 방법
US11610395B2 (en) 2020-11-24 2023-03-21 Huron Technologies International Inc. Systems and methods for generating encoded representations for multiple magnifications of image data
US11934554B2 (en) 2021-05-17 2024-03-19 Bank Of America Corporation Information security by preventing unauthorized data access
US12118120B2 (en) 2021-05-17 2024-10-15 Bank Of America Corporation Prevention of unauthorized access to information
KR102490756B1 (ko) * 2022-08-08 2023-01-27 미러 주식회사 암호화된 문서 컨텐츠를 제공하는 서버와 그 문서 컨텐츠의 뷰어 디바이스
CN116778195B (zh) * 2023-08-16 2023-11-24 北京华源技术有限公司 一种基于颜色码的设备识别方法和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3894217A (en) * 1973-12-27 1975-07-08 Nippon Electric Co Device for discriminating color coded articles
US5343028A (en) * 1992-08-10 1994-08-30 United Parcel Service Of America, Inc. Method and apparatus for detecting and decoding bar code symbols using two-dimensional digital pixel images
US5352878A (en) * 1993-01-29 1994-10-04 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using independent bar and space analysis
CN1179752A (zh) * 1995-03-31 1998-04-22 基维软件程序有限公司 机器可读的标签
JP3676887B2 (ja) * 1996-08-08 2005-07-27 理想科学工業株式会社 カラー2次元コード及びカラー2次元コードの作成装置
JP4015753B2 (ja) * 1998-06-11 2007-11-28 株式会社東芝 画像情報処理方法
JPH11168616A (ja) * 1997-12-03 1999-06-22 Toshiba Corp 画像情報処理方法および画像情報処理装置
GB9806767D0 (en) * 1998-03-31 1998-05-27 Philips Electronics Nv Pixel colour valve encoding and decoding
JP3459770B2 (ja) * 1998-04-10 2003-10-27 キヤノン株式会社 画像読取装置および方法、記録媒体
US6081739A (en) * 1998-05-21 2000-06-27 Lemchen; Marc S. Scanning device or methodology to produce an image incorporating correlated superficial, three dimensional surface and x-ray images and measurements of an object
US7023587B2 (en) * 1999-11-12 2006-04-04 Nikon Corporation Image scanning apparatus, recording medium which stores image scanning programs, and data structure
US20020015536A1 (en) * 2000-04-24 2002-02-07 Warren Penny G. Apparatus and method for color image fusion

Also Published As

Publication number Publication date
US6981644B2 (en) 2006-01-03
EP1456816A4 (en) 2005-02-02
HK1072826A1 (en) 2005-09-09
ATE387676T1 (de) 2008-03-15
DE60225329D1 (de) 2008-04-10
JP2005509223A (ja) 2005-04-07
DE60225329T2 (de) 2009-02-19
CN1310187C (zh) 2007-04-11
KR20010113578A (ko) 2001-12-28
CN1578969A (zh) 2005-02-09
JP4016342B2 (ja) 2007-12-05
EP1456816A1 (en) 2004-09-15
KR100339691B1 (ko) 2002-06-07
WO2003041014A1 (en) 2003-05-15
US20050001033A1 (en) 2005-01-06
EP1456816B1 (en) 2008-02-27

Similar Documents

Publication Publication Date Title
ES2303566T3 (es) Aparato y metodo para reconocer un codigo.
ES2341607T3 (es) Metodo y dispositivo de codificacion y descodificacion.
US20220156476A1 (en) Method, device, and system for generating, repairing, and identifying an incomplete qr code
Chen et al. PiCode: A new picture-embedding 2D barcode
KR100653886B1 (ko) 혼합코드 및 혼합코드 인코딩 방법과 장치
US9239978B2 (en) Readable matrix code
ES2773719T3 (es) Mejora de texto de una imagen textual sometida a un reconocimiento óptico de caracteres
US10863202B2 (en) Encoding data in a source image with watermark image codes
KR100653885B1 (ko) 혼합코드 디코딩 방법 및 그 장치
US8783571B2 (en) Device and its use for outputting of 2D codes with embedded images
JP5145435B2 (ja) カラーベースのイメージコードの色判別方法
EP1807796A4 (en) MIXED CODE, METHOD AND DEVICE FOR PRODUCING THE CODE, METHOD AND DEVICE FOR DECODING IT
US20160379031A1 (en) High capacity 2d color barcode design and processing method for camera based applications
JP6890427B2 (ja) 車番認識装置
US10084940B2 (en) Image forming apparatus, and method for image processing thereof
JP4404224B2 (ja) 光学式認識コード認識装置及び方法及びプログラム
JP5967000B2 (ja) 情報コード読取システム、情報コード読取装置、情報コード
JP4874706B2 (ja) Qrコード読取装置
US20210203994A1 (en) Encoding data in a source image with watermark image codes
Tkachenko et al. Improving the module recognition rate of high density QR codes (Version 40) by using centrality bias
HK1072826B (en) Apparatus and method for recognizing code
JP2009003721A (ja) 光学式認識コード切り出し方法及び切り出し装置及びプログラム並びに光学式認識コード認識方法
JP2001134773A (ja) 画像処理装置およびその方法