ES2953913T3 - Corrección de color - Google Patents

Corrección de color Download PDF

Info

Publication number
ES2953913T3
ES2953913T3 ES19702223T ES19702223T ES2953913T3 ES 2953913 T3 ES2953913 T3 ES 2953913T3 ES 19702223 T ES19702223 T ES 19702223T ES 19702223 T ES19702223 T ES 19702223T ES 2953913 T3 ES2953913 T3 ES 2953913T3
Authority
ES
Spain
Prior art keywords
barcode
color
colors
integrated
reference colors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES19702223T
Other languages
English (en)
Inventor
Altamirano Ismael Benito
Guillen Olga Casals
Gallego Cristian Fàbrega
Garcia Juan Daniel Prades
Andreas Hans Wilhelm Waag
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.)
Universitat Autonoma de Barcelona UAB
Universitat de Barcelona UB
Original Assignee
Universitat Autonoma de Barcelona UAB
Universitat de Barcelona UB
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 Universitat Autonoma de Barcelona UAB, Universitat de Barcelona UB filed Critical Universitat Autonoma de Barcelona UAB
Application granted granted Critical
Publication of ES2953913T3 publication Critical patent/ES2953913T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/603Colour correction or control controlled by characteristics of the picture signal generator or the picture reproducer
    • H04N1/6033Colour correction or control controlled by characteristics of the picture signal generator or the picture reproducer using test pattern analysis
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/02Details
    • G01J3/0264Electrical interface; User interface
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/46Measurement of colour; Colour measuring devices, e.g. colorimeters
    • G01J3/52Measurement of colour; Colour measuring devices, e.g. colorimeters using colour charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • G06K19/06028Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/646Circuits for processing colour signals for image enhancement, e.g. vertical detail restoration, cross-colour elimination, contour correction, chrominance trapping filters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/46Measurement of colour; Colour measuring devices, e.g. colorimeters
    • G01J3/52Measurement of colour; Colour measuring devices, e.g. colorimeters using colour charts
    • G01J3/524Calibration of colorimeters

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
  • Color Television Image Signal Generators (AREA)

Abstract

Se proporcionan métodos para generar un código de barras con una paleta de colores incorporada para la corrección del color de una imagen capturada en formato digital. Estos métodos comprenden: generar un código de barras inicial según un estándar de código de barras y formado por unidades de codificación de colores claros y colores oscuros que codifican conjuntamente una referencia a la ubicación de almacenamiento; dividir un conjunto predefinido de colores de referencia en colores oscuros y claros de referencia dependiendo del umbral de contraste; modificar el código de barras inicial reemplazando unidades de codificación de colores oscuros por colores oscuros de referencia y unidades de codificación de colores claros por colores claros de referencia; y actualizar la ubicación de almacenamiento con datos que representan los colores de referencia incluidos en el código de barras modificado y las posiciones de dichos colores de referencia en el código de barras modificado . Se proporcionan métodos para la corrección de color basándose en un código de barras determinado por dichos métodos. Se proporcionan programas y sistemas informáticos que son adecuados para realizar dichos métodos de generación de códigos de barras y métodos de corrección de color. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Corrección de color
La presente divulgación se refiere a procedimientos para determinar un código de barras con una paleta de colores integrada para corrección de color de una imagen capturada, y a programas informáticos, sistemas y sistemas informáticos adecuados para realizar dichos procedimientos.
La presente divulgación se refiere además a códigos de barras con una paleta de colores integrada generados por cualquiera de dichos procedimientos, y a procedimientos para producir dichos códigos de barras con paleta de colores integrada. También se proporcionan dispositivos sensores que incluyen cualquiera de dichos códigos de barras con paleta de colores integrada para medir una condición ambiental o física.
La presente divulgación se refiere además a procedimientos para corrección de color de imágenes capturadas utilizando cualquiera de los códigos de barras mencionados anteriormente con paleta de colores integrada, y a programas informáticos, sistemas y sistemas informáticos adecuados para realizar dichos procedimientos.
TÉCNICA ANTERIOR
Se sabe que se puede corregir el color de una imagen digital capturada (por ejemplo, una fotografía digital) en base a una paleta de colores que acompaña a la imagen capturada. Por lo tanto, la imagen y la paleta de colores deben ser capturadas durante la misma operación del correspondiente dispositivo de captura.
Paletas de colores conocidas comprenden un conjunto de colores de referencia que se utilizan como patrones (o modelos) de color para realizar la corrección de color de la imagen capturada. Para ello se utilizan dos versiones de dichos colores de referencia. Una versión corresponde a colores reales de la paleta de colores, y otra versión corresponde a colores aparentes de la paleta de colores, es decir, según "se ven" en la paleta de colores capturada. Se puede determinar una desviación entre la versión real de los colores de referencia y la versión capturada (o aparente) de los colores de referencia. Dicha desviación puede denotar un cambio en los colores de referencia debido a, por ejemplo, condiciones particulares de luz y/o de captura que teóricamente causan un cambio similar en los colores de la imagen. Esta desviación detectada entre los colores de referencia reales y aparentes se puede transferir o propagar de alguna manera a los colores de la imagen capturada con el fin de lograr una aproximación lo más precisa posible de los colores aparentes de la imagen capturada con respecto a los correspondientes colores reales. El documento JP 2010226580 A divulga la integración de una paleta de colores dentro de uno de los módulos de búsqueda de un código QR. El propio código QR contiene los datos de los colores reales de la paleta. Los documentos US 2015/294460 A1 y US 2017/242421 A1 describen ambos la presentación de un patrón de referencia de color junto con un código QR que permite comparar una imagen capturada del patrón de referencia con los datos de color reales a través de una red.
Un objeto de la presente divulgación es mejorar los procedimientos, programas informáticos, sistemas y sistemas informáticos de la técnica anterior que tienen por objeto determinar paletas de colores, obtener/producir dichas paletas de colores y realizar la corrección de color de una imagen capturada en base a dichas paletas de color.
RESUMEN DE LA INVENCIÓN
En un aspecto, se proporciona un procedimiento para generar un código de barras con una paleta de colores integrada para corrección de color de una imagen capturada en formato digital. El procedimiento comprende generar un código de barras inicial según un estándar (o especificación pre-conocida) de código de barras, estando el código de barras inicial formado por una pluralidad de unidades de codificación, teniendo cada una de las cuales una posición predeterminada en el código de barras, e incluyendo la pluralidad de unidades de codificación unas unidades de codificación de color claro y unas unidades de codificación de color oscuro que codifican conjuntamente una referencia a una ubicación de almacenamiento para almacenar datos del código de barras. Este procedimiento de generación de código de barras comprende además dividir un conjunto predefinido de colores de referencia para corrección de color en un conjunto de colores de referencia oscuros y un conjunto de colores de referencia claros en función de un primer umbral de contraste.
El procedimiento de "generación" comprende además modificar el código de barras inicial (según uno o más criterios de sustitución predefinidos) sustituyendo, para cada uno de al menos algunos de los colores de referencia oscuros, una unidad de codificación de color oscuro por el color de referencia oscuro, y sustituyendo, para cada uno de al menos algunos de los colores de referencia claros, una unidad de codificación de color claro por el color de referencia claro. El procedimiento de generación de código de barras comprende además actualizar los datos de la ubicación de almacenamiento con datos que representan los colores de referencia incluidos en el código de barras modificado y correspondientes posiciones del código de barras atribuidas a dichos colores de referencia en el código de barras modificado.
Con el procedimiento propuesto de generar códigos de barras, se atribuye una doble función al código de barras resultante con paleta de colores integrada. Se proporciona una referencia codificada a una ubicación de almacenamiento (primera función) junto con colores de referencia para corrección de color (segunda función). Una vez que se obtiene la referencia a la ubicación de almacenamiento decodificando el código de barras, se puede acceder a la ubicación de almacenamiento para obtener datos necesarios de la paleta de colores (o colores de referencia) para realizar la correspondiente corrección de color. Este código de barras de doble función puede mejorar la eficiencia del procesamiento de colores de referencia reales y colores de referencia aparentes (según se ven en el código de barras capturado) para determinar desviaciones de color a aplicar a la imagen capturada para corregir su color. Se puede mejorar la identificación de colores de referencia (aparentes y reales) y, por lo tanto, la determinación de desviaciones de color puede resultar más fiable en comparación con paletas de colores de la técnica anterior. Los colores de referencia integrados en el correspondiente código de barras se pueden identificar más fácil y eficazmente en la correspondiente captura del código de barras que, a su vez, puede permitir muestras más pequeñas de colores de referencia que, a su vez, pueden permitir considerar mayores cantidades de colores de referencia. La cantidad de colores de referencia a utilizar puede depender de la aplicación y/o la precisión a conseguir en la corrección de color. En aplicaciones en las que el número de colores de referencia no es una especial preocupación, la paleta de colores resultante (y el código de barras en el que está integrada) puede ser más pequeña en comparación con paletas de colores de la técnica anterior con un número igual o similar de colores de referencia. En aplicaciones que requieren un número de colores de referencia lo más elevado posible, la paleta de colores resultante (y el código de barras en el que está integrada) puede contener cantidades mayores de colores de referencia en comparación con procedimientos de la técnica anterior que utilizan paletas de colores de tamaño igual o similar.
El conjunto predefinido de colores de referencia puede incluir colores de una paleta de colores de propósito general para corrección de color o, alternativamente, el conjunto predefinido de colores de referencia se puede determinar a partir de un rango de colores que sean representativos de un tipo de imágenes a capturar y a corregir su color. Se pueden determinar colores prominentes del rango de colores y dichos colores prominentes se pueden asumir como el conjunto predefinido de colores de referencia. El rango de colores se puede determinar tomando muestras de color de una pluralidad de imágenes de ejemplo (o de prueba) que sean representativas del tipo de imágenes a capturar y a corregir su color. Se pueden determinar colores prominentes del rango de colores agrupando en clústeres (clustering) los colores del rango de colores. Dicho agrupamiento en clústeres se puede realizar aplicando cualquier técnica conocida con dicho objetivo, tal como por ejemplo, k-medias (k-means). Además, el conjunto predefinido de colores de referencia puede incluir réplicas de al menos algunos de los colores de referencia para compensación de condiciones de luz y/o de captura divergentes que afectan de manera diferente a la paleta de colores.
El primer umbral de contraste se puede definir en términos de luminancia de color, brillo de color, valor de escala de grises o cualquier valor escalar de información de color que tiene en cuenta una diferencia de luminosidad entre colores. El uno o más criterios de sustitución comprenden una selección aleatoria de unidades de codificación de color oscuro y de color claro para su sustitución por correspondientes colores de referencia oscuros y claros. Se puede utilizar alternativamente otro criterio o criterios de sustitución en función de, por ejemplo, la ubicación espacial de las unidades de codificación, de la activación o desactivación predefinida de unidades de codificación como seleccionables para su sustitución, etc.
El primer umbral de contraste (o de división) puede corresponder a un valor promedio de un histograma de un conjunto de colores que incluye los colores oscuros y claros del código de barras inicial y los colores de referencia predefinidos. Esto puede permitir una clasificación más "precisa" de los colores de referencia en colores de referencia oscuros y claros, de modo que el correspondiente código de barras (con colores de referencia integrados) se puede decodificar mejor según el estándar o especificación pre-conocida de códigos de barras.
El estándar o especificación pre-conocida de códigos de barras puede incluir un mecanismo de corrección de errores para hacer que cualquier código de barras determinado según el estándar o especificación pre-conocida sea globalmente decodificable siempre que un ratio de unidades de codificación decodificables individualmente en dicho código de barras sea superior a un ratio de unidades de codificación predefinido. Teniendo esto en cuenta, el primer umbral de contraste puede ser (pre)definido o ajustado para inducir que el ratio de unidades de codificación decodificables individualmente sea superior al ratio de unidades de codificación predefinido. Esto puede permitir una decodificación (estándar) aún más satisfactoria del código de barras con colores de referencia integrados. Se puede utilizar cualquier procedimiento de maximización conocido o similar para maximizar el ratio de unidades de codificación decodificables individualmente y, por lo tanto, asegurar que sea superior al ratio de unidades de codificación predefinido.
El estándar o especificación pre-conocida de códigos de barras puede estar configurado para generar un código de barras de respuesta rápida (QR). Sin embargo, en el contexto de los procedimientos propuestos se pueden considerar otros tipos de códigos de barras bidimensionales e incluso unidimensionales. En otras partes de la descripción se proporcionan detalles al respecto.
La división del conjunto predefinido de colores de referencia puede comprender identificar colores de referencia con una proximidad "excesiva" al primer umbral de contraste y distribuir aleatoriamente (al menos algunos de) dichos colores de referencia entre el conjunto de colores de referencia oscuros y el conjunto de colores de referencia claros. Con este fin se puede utilizar un umbral de proximidad predefinido, de modo que cuando un determinado color de referencia supera el umbral de proximidad, se puede asumir que dicho color de referencia tiene una oscuridad y/o luminosidad "dudosa" debido a su excesiva proximidad al primer umbral de contraste (o de división). Esta característica, en combinación con el mecanismo de corrección de errores mencionado anteriormente, puede aumentar las posibilidades de una decodificación estándar satisfactoria del código de barras con paleta de colores integrada.
En otro aspecto, se proporciona un programa informático que comprende instrucciones de programa para hacer que un sistema informático realice cualquiera de los procedimientos anteriores para generar un código de barras con una paleta de colores integrada para corrección de color. Este programa informático puede estar incorporado en un medio de almacenamiento y/o ser portado en una señal portadora.
En un aspecto aún más adicional, se proporciona un sistema para generar un código de barras con una paleta de colores integrada para corrección de color de una imagen capturada en formato digital. Este sistema comprende un módulo de generación, un módulo de división, un módulo de modificación y un módulo de actualización. El módulo de generación está configurado para generar un código de barras inicial según un estándar o especificación pre-conocida de códigos de barras, estando el código de barras inicial formado por una pluralidad de unidades de codificación, teniendo cada una de las cuales una posición predeterminada en el código de barras, e incluyendo la pluralidad de unidades de codificación unas unidades de codificación de color claro y unas unidades de codificación de color oscuro que codifican conjuntamente una referencia a una ubicación de almacenamiento para almacenar datos del código de barras. El módulo de división está configurado para dividir un conjunto predefinido de colores de referencia para corrección de color en un conjunto de colores de referencia oscuros y un conjunto de colores de referencia claros en función de un primer umbral de contraste. El módulo de modificación está configurado para modificar, según uno o más criterios de sustitución predefinidos, el código de barras inicial sustituyendo, para cada uno de al menos algunos de los colores de referencia oscuros, una unidad de codificación de color oscuro por el color de referencia oscuro, y sustituyendo, para cada uno de al menos algunos de los colores de referencia claros, una unidad de codificación de color claro por el color de referencia claro. El módulo de actualización está configurado para actualizar los datos de la ubicación de almacenamiento con datos que representan los colores de referencia incluidos en el código de barras modificado y correspondientes posiciones del código de barras atribuidas a dichos colores de referencia en el código de barras modificado.
Según se utiliza en el presente documento, el término "módulo" se puede entender como una referencia a software, firmware, hardware, y/o diversas combinaciones de los mismos. Se debe señalar que los módulos son de ejemplo. Los módulos se pueden combinar, integrar, separar y/o duplicar para dar soporte a diversas aplicaciones. Asimismo, una función que se describe en el presente documento como realizada en un módulo concreto se puede realizar en uno o más otros módulos y/o por parte de uno o más otros dispositivos (asociados al dispositivo portátil) en lugar de o además de la función realizada en el módulo concreto que se ha descrito.
Además, los módulos se pueden implementar a través de múltiples dispositivos (asociados al dispositivo portátil) y/u otros componentes locales o remotos entre sí. Además, los módulos se pueden trasladar de un dispositivo y agregar a otro, y/o pueden estar incluidos en ambos dispositivos (asociados al dispositivo portátil). Cualquier implementación de software puede estar tangiblemente incorporada en uno o más medios de almacenamiento, tal como por ejemplo, un dispositivo de memoria, un disquete, un disco compacto (CD), un disco versátil digital (DVD) u otros dispositivos que puedan almacenar código informático.
En otro aspecto más, se proporciona un sistema informático para generar un código de barras con una paleta de colores integrada para corrección de color de una imagen capturada en formato digital. Este sistema informático comprende una memoria y un procesador, que incorpora instrucciones almacenadas en la memoria y ejecutables por el procesador. Las instrucciones comprenden una funcionalidad para ejecutar cualquiera de los procedimientos anteriores para generar un código de barras con una paleta de colores integrada para corrección de color.
En un aspecto adicional, se proporciona un procedimiento para producir un código de barras con una paleta de colores integrada para corrección de color. Este procedimiento comprende generar un código de barras con una paleta de colores integrada realizando cualquiera de los procedimientos de "generación" que se han descrito anteriormente, y producir dicho código de barras generado con paleta de colores integrada. Para ello se pueden utilizar técnicas de impresión o cualquier otro procedimiento de coloración de un sustrato adecuado. También se puede proporcionar un código de barras con una paleta de colores integrada para corrección de color producida realizando dicho procedimiento (de producir un código de barras con una paleta de colores integrada).
En un aspecto más adicional, se proporciona un procedimiento para corrección de color de una imagen capturada incluida en una escena capturada en formato digital, en el que la escena capturada es el resultado de una captura de una escena que comprende la imagen y un código de barras con paleta de colores integrada generado realizando cualquiera de los procedimientos anteriores de generar códigos de barras. La imagen incluye colores de imagen reales y el código de barras con paleta de colores integrada incluye colores de referencia reales. La escena capturada comprende la imagen capturada y el código de barras capturado con paleta de colores integrada, incluyendo la imagen capturada colores de imagen aparentes (según se ven en la imagen capturada) e incluyendo el código de barras capturado con paleta de colores integrada colores de referencia aparentes (según se ven en el código de barras capturado con paleta de colores integrada).
El procedimiento de corrección comprende identificar el código de barras capturado con paleta de colores integrada en la escena capturada, y decodificar el código de barras capturado con paleta de colores integrada según el estándar o especificación pre-conocida de códigos de barras utilizado para generar el código de barras con paleta de colores integrada. Dicha decodificación produce la correspondiente referencia a ubicación de almacenamiento en la que se almacenan datos del código de barras con paleta de colores integrada. El procedimiento comprende además acceder a la ubicación de almacenamiento a través de la referencia a la ubicación de almacenamiento determinada, para recuperar los colores de referencia reales en el código de barras con paleta de colores integrada y correspondientes posiciones de los colores de referencia reales en el código de barras con paleta de colores integrada. El procedimiento comprende además identificar los colores de referencia aparentes en el código de barras capturado con paleta de colores integrada, en base a las posiciones recuperadas de los colores de referencia reales en el código de barras con paleta de colores integrada, y determinar, para cada uno de (al menos algunos de) los colores de referencia reales, una desviación de color entre el color de referencia real y el correspondiente color de referencia aparente. El procedimiento comprende además realizar una corrección de color de la imagen capturada ajustando los colores aparentes de la imagen en función de las desviaciones de color determinadas entre colores de referencia reales y aparentes.
La decodificación del código de barras capturado con paleta de colores integrada puede comprender binarizar el código de barras capturado (con paleta de colores integrada) y decodificar dicho código de barras binarizado (con paleta de colores integrada) según el estándar o especificación pre-conocida de códigos de barras. Esta binarización se puede realizar convirtiendo los colores de referencia aparentes (según se ven en el código de barras capturado) en uno o más colores oscuros o claros, en función de si el correspondiente color de referencia aparente está respectivamente por debajo o por encima de un segundo umbral de contraste. Este segundo umbral de contraste se puede definir en términos de, por ejemplo, luminancia de color, brillo de color, valor de escala de grises o cualquier valor escalar de información de color que tiene en cuenta una diferencia de luminosidad entre colores. Dicha binarización previa a la decodificación del código de barras capturado (con paleta de colores integrada) puede aumentar las posibilidades de una decodificación (estándar) del código de barras capturado satisfactoria y, por lo tanto, se puede asegurar mejor una determinación precisa de la correspondiente referencia a la ubicación de almacenamiento.
El procedimiento de corrección puede comprender además verificar si la decodificación del código de barras binarizado (con paleta de colores integrada) produce una condición de error y, en caso de condición de error, se puede realizar un bucle iterativo según uno o más criterios de iteración predefinidos. Cada iteración de dicho bucle puede comprender variar el segundo umbral de contraste, la mencionada binarización en función de dicho segundo umbral de contraste variado, y la mencionada decodificación del código de barras capturado una vez binarizado. El uno o más criterios de iteración predefinidos pueden comprender realizar iteraciones del bucle hasta que la decodificación del código de barras binarizado no produzca la condición de error en la iteración correspondiente. La condición de error puede comprender la producción, por parte de la decodificación del código de barras binarizado, de una salida que no satisfaga un formato predefinido que se espera que satisfaga cualquier referencia a ubicación de almacenamiento. Adicional o alternativamente, la condición de error puede comprender la producción, por parte de la decodificación del código de barras binarizado, de un error de decodificación según el estándar o especificación pre-conocida de códigos de barras. Este enfoque iterativo puede aumentar aún más las posibilidades de una decodificación satisfactoria del código de barras capturado y, por lo tanto, se puede asegurar mejor una determinación precisa de la correspondiente referencia a ubicación de almacenamiento.
Según se describe en otras partes de la descripción, el código de barras con paleta de colores integrada puede comprender una o más réplicas de uno o más de los colores de referencia reales. En estas circunstancias, la determinación de las desviaciones de color entre colores de referencia reales y aparentes puede comprender determinar, para cada uno de (al menos algunos de) los colores de referencia reales replicados, un promedio de los colores de referencia aparentes correspondientes al color de referencia real replicado, y determinar una correspondiente desviación de color entre los colores de referencia aparentes promediados y el color de referencia real replicado. Adicional o alternativamente, la determinación de las desviaciones de color entre colores de referencia reales y aparentes puede comprender determinar, para cada uno de al menos algunos de los colores de referencia reales replicados, una desviación de color (en el espacio de color de referencia) entre el color de referencia real replicado y cada uno de los colores de referencia aparentes correspondientes al color de referencia real replicado. Estas características pueden compensar o atenuar distorsiones debidas a condiciones de luz y/o de captura divergentes que afectan de manera diferente a la escena capturada.
En un aspecto adicional, se proporciona un programa informático que comprende instrucciones de programa para hacer que un sistema informático realice cualquiera de los procedimientos anteriores para corrección de color de una imagen capturada. Los mismos principios generales o similares a los comentados en relación con cualquier programa informático según la presente divulgación pueden ser de consideración con este programa informático en particular.
En un aspecto adicional, se proporciona un sistema para corrección de color de una imagen capturada incluida en una escena capturada en formato digital, siendo la escena capturada el resultado de una captura de la escena que comprende la imagen y un código de barras con paleta de colores integrada generado realizando cualquiera de los procedimientos según la presente divulgación. La imagen incluye colores de imagen reales y el código de barras con paleta de colores integrada incluye colores de referencia reales. La escena capturada comprende la imagen capturada y el código de barras capturado con paleta de colores integrada, incluyendo la imagen capturada colores de imagen aparentes según se ven en la imagen capturada, e incluyendo el código de barras capturado con paleta de colores integrada colores de referencia aparentes según se ven en el código de barras capturado con paleta de colores integrada.
El sistema comprende un módulo de identificación, un módulo de decodificación, un módulo de acceso, un módulo de identificación, un módulo de desviación de color y un módulo de corrección. El módulo de identificación está configurado para identificar el código de barras capturado con paleta de colores integrada en la escena capturada. El módulo de decodificación está configurado para decodificar el código de barras capturado con paleta de colores integrada según el estándar o especificación pre-conocida de códigos de barras utilizado para generar el código de barras con paleta de colores integrada, para determinar la correspondiente referencia a ubicación de almacenamiento en la que se almacenan datos del código de barras con paleta de colores integrada. El módulo de acceso está configurado para acceder a la ubicación de almacenamiento a través de la referencia a la ubicación de almacenamiento determinada, para recuperar los colores de referencia reales en el código de barras con paleta de colores integrada y correspondientes posiciones de los colores de referencia reales en el código de barras con paleta de colores integrada. El módulo de identificación está configurado para identificar los colores de referencia aparentes en el código de barras capturado con paleta de colores integrada, en base a las posiciones recuperadas de los colores de referencia reales en el código de barras con paleta de colores integrada. El módulo de desviación de color está configurado para determinar, para cada uno de al menos algunos de los colores de referencia reales, una desviación de color entre el color de referencia real y el correspondiente color de referencia aparente. El módulo de corrección está configurado para realizar la corrección de color de la imagen capturada ajustando los colores aparentes de la imagen en función de las desviaciones de color determinadas entre colores de referencia reales y aparentes. Se pueden tener en cuenta en este sistema los mismos principios generales o similares a los comentados en relación con otros sistemas propuestos en la presente divulgación.
En un aspecto aún más adicional, se proporciona un sistema informático para corrección de color de una imagen capturada, comprendiendo el sistema informático para corrección una memoria y un procesador, que incorpora instrucciones almacenadas en la memoria y ejecutables por el procesador. Estas instrucciones incluyen una funcionalidad para ejecutar cualquiera de los procedimientos que se han descrito anteriormente para corrección de color de una imagen capturada. En este sistema informático para corrección se pueden tener en cuenta principios generales iguales o similares a los comentados en relación con otros sistemas informáticos propuestos en la presente divulgación.
En un aspecto aún más adicional, se proporciona un dispositivo sensor para medir (o percibir, detectar) una condición ambiental o física. Este dispositivo sensor comprende un código de barras con una paleta de colores integrada generada realizando cualquiera de los procedimientos de generación de código de barras según la presente divulgación y, además, una unidad de color variable que incluye un material o sustancia de color cambiante en función de la condición ambiental o física. Dicho color cambiante es, por lo tanto, corregible realizando cualquiera de los procedimientos de corrección de color según la presente divulgación, de manera que dicho color corregido se puede utilizar para medir la condición ambiental o física. Esta medición se puede realizar, por ejemplo, inspeccionando o consultando una estructura de datos que establece una correspondencia entre colores predefinidos y condiciones ambientales o físicas predefinidas, para determinar cuál de los colores predefinidos se corresponde mejor con el color corregido. Entonces, la condición ambiental o física predefinida correspondiente a dicho color predefinido con mejor correspondencia se puede proporcionar como la condición ambiental o física medida. La unidad de color variable puede ser interna o externa al código de barras con paleta de colores integrada. En el caso de que la unidad de color variable sea interna, puede cubrir o corresponder, por ejemplo, a una o más de las unidades de codificación del código de barras con la paleta de colores integrada.
En otro aspecto, se proporciona un procedimiento sensor para medir una condición ambiental o física en función de un dispositivo sensor capturado según la presente divulgación, incluyendo el dispositivo sensor capturado una unidad de color variable capturada y una paleta de colores capturada correspondientes. El procedimiento sensor comprende realizar una corrección de color de la unidad de color variable capturada realizando cualquiera de los procedimientos de corrección de color según la presente divulgación (teniendo en cuenta los colores de referencia de la paleta de colores capturada), y medir la condición ambiental o física en base al color corregido de la unidad de color variable capturada.
La presente divulgación proporciona medios para muchas aplicaciones de medición o detección que incluyen una corrección de color de una correspondiente imagen y/o unidad de color variable capturada. A continuación se citan ejemplos de dichas aplicaciones de sensor.
Algunas aplicaciones se pueden basar, por ejemplo, en medir el color de una imagen o unidad de color variable capturada. Por ejemplo, se pueden implementar aplicaciones analíticas basadas en colorimetría insertando reactivos en una unidad de color variable, capturando (una foto de) la unidad de color variable y el código de barras con paleta de colores integrada, corrigiendo el color de la unidad de color variable capturada, y analizando el color corregido en base a técnicas de colorimetría para inferir una cantidad o una medición de analitos resultantes. Uno u otro color corregido puede indicar una u otra cantidad de analitos resultantes que, a su vez, puede inducir una u otra "conclusión" analítica. Ejemplos de dichas aplicaciones pueden incluir determinar un grado de conservación de un alimento en un recipiente, medir la seguridad en entornos con gases tóxicos, monitorizar emisiones de gases ambientales, monitorizar la diabetes midiendo la acetona en el aliento, haciendo screening de patologías midiendo sustancias en el aliento (por ejemplo, cáncer de esófago), etc. Otros ejemplos se pueden basar en colocar el código de barras con paleta de colores integrada en las proximidades de una muestra "objetivo" para realizar corrección de color y la correspondiente medición del color corregido, con el fin de medir la muestra en función del color corregido. Se pueden utilizar tiras reactivas como unidad de color variable para contener la muestra objetivo, tal como por ejemplo tiras para medir el cloro y el pH en piscinas, tiras urinarias, etc. Otros ejemplos pueden incluir un control de calidad en la producción de artículos cuyo color o colores pueden ser relevantes (textiles, cerámicas...), aplicaciones de realidad aumentada en las que se puede insertar un objeto en una escena virtual con colores adaptados a las condiciones de iluminación de esa escena y/o con la eliminación o atenuación de distorsiones causadas por el dispositivo de captura de imágenes. Otros ejemplos pueden incluir aplicaciones cosméticas, tales como por ejemplo determinar el tono de la piel para la selección de tonos de maquillaje, monitorizar la eficacia de tratamientos cosméticos despigmentantes, etc. Otros ejemplos pueden incluir el diagnóstico precoz de la ictericia (la piel y los ojos se vuelven más amarillentos debido al aumento en la bilirrubina), screening del cáncer de páncreas en adultos monitorizando el color de la piel y los ojos, etc. La ictericia es bastante común en recién nacidos en los primeros días de vida y puede requerir atención médica. Otras aplicaciones se pueden basar en la obtención de imágenes en color estandarizadas. Ejemplos de dichas aplicaciones pueden incluir, por ejemplo, un diagnóstico precoz del cáncer de piel, en base a detectar la presencia de determinados colores en la lesión examinada, que puede ser crucial para el diagnóstico. Este enfoque se puede aplicar, por ejemplo, a la teledermatología para permitir que el médico especialista decida sobre la prioridad de los pacientes en base a las imágenes tomadas en la consulta de atención primaria, y la monitorización periódica de pacientes de riesgo por parte del dermatólogo comparando imágenes pertinentes. Otros ejemplos pueden comprender, por ejemplo, la monitorización de patologías en dermatología (vitíligo, patologías inflamatorias tales como dermatitis o psoriasis, etc.), estandarización de imágenes en ensayos clínicos en dermatología, histología (estandarización del color en imágenes de muestras que están almacenadas, en las que el color es muy importante ya que las muestras normalmente son teñidas). Otros ejemplos pueden incluir monitorización de úlceras y selección de tratamientos, monitorización de heridas quirúrgicas, oftalmología (monitorización de algunas patologías), comercio electrónico (obtención de imágenes realistas y estándares de color para productos en los que esta característica puede ser decisiva, por ejemplo, muebles, maquillaje, pintura, etc.).
BREVE DESCRIPCIÓN DE LOS DIBUJOS
A continuación se describen ejemplos no limitativos de la presente divulgación, con referencia a los dibujos adjuntos, en los que:
La Figura 1 es una representación esquemática de un código de barras bidimensional estándar que codifica una referencia a una ubicación de almacenamiento y una versión modificada de dicho código de barras que corresponde a un código de barras con una paleta de colores integrada según algunos ejemplos;
La Figura 2 es un diagrama de flujo que ilustra de forma esquemática procedimientos, según ejemplos, para generar un código de barras con una paleta de colores integrada del mismo tipo o similar al que se ilustra en la Figura 1; La Figura 3 es un diagrama de flujo que ilustra de forma esquemática procedimientos, según otros ejemplos, para generar un código de barras con una paleta de colores integrada del mismo tipo o similar al que se ilustra en la Figura 1;
La Figura 4 es una representación esquemática de una escena capturada en formato digital que incluye una imagen capturada y un código de barras capturado con paleta de colores integrada del mismo tipo o similar al que se ilustra en la Figura 1 y/o generado por medio de procedimientos iguales o similares a los que se ilustran en las Figuras 2 y 3;
La Figura 5 es un diagrama de flujo que ilustra de forma esquemática procedimientos, según ejemplos, para corrección de color de una imagen capturada incluida en una escena capturada del mismo tipo o similar a la que se muestra en la Figura 4; y
La Figura 6 es un diagrama de flujo que ilustra de forma esquemática procedimientos, según otros ejemplos, para corrección de color de una imagen capturada incluida en una escena capturada del mismo tipo o similar a la que se muestra en la Figura 4.
DESCRIPCIÓN DE EJEMPLOS
La Figura 1 es una representación esquemática de un código de barras bidimensional estándar legible por dispositivo informático 100 que codifica una referencia a una ubicación de almacenamiento y una versión modificada 112 de dicho código de barras 100 que incluye una paleta de colores según algunos ejemplos. El código de barras bidimensional (2D) estándar 100 se puede generar utilizando cualquier procedimiento/software conocido que está configurado para generar códigos de barras bidimensionales según un estándar o especificación determinada. El código de barras bidimensional 100 puede, por ejemplo, tener en cuenta los colores blanco y negro o cualquier otro par de colores "codificadores" con una diferencia de contraste significativa entre los mismos, de manera que dichos colores "codificadores" se distinguen claramente entre sí. Por ejemplo, se podrían utilizar los colores azul marino y amarillo en lugar de los típicos colores blanco y negro.
La expresión "estándar de código de barras" se utiliza en el presente documento para referirse a cualquier requisito o especificación pre-conocidos según los cuales se pueden generar y decodificar códigos de barras. Por lo tanto, un "estándar de código de barras" se puede referir simplemente a cualquier forma (estándar o no estándar) de generar y decodificar códigos de barras con el propósito general de representar información codificada y obtener dicha información con la pertinente decodificación. En la presente divulgación, dichas formas (conocidas) de generar y decodificar información en forma de código de barras son reutilizadas para incluir una funcionalidad adicional de corrección de color. En otras palabras, los "códigos de barras con paleta de colores integrada" que se sugieren proporcionan una doble funcionalidad de codificación de una referencia a una ubicación de almacenamiento (primera funcionalidad) y de la provisión de colores de referencia para corrección de color (segunda funcionalidad).
Los ejemplos particulares que se describen en este documento se refieren a códigos de barras 2D. Sin embargo, también se pueden utilizar códigos de barras 1D según los mismos principios generales o similares a los propuestos con respecto a los códigos de barras 2D. De manera similar, aunque los ejemplos divulgados se refieren a códigos QR, se pueden utilizar otros tipos de códigos de barras 2D en implementaciones alternativas a las basadas en códigos de barras QR. Ejemplos de códigos de barras 1D que se podrían utilizar para implementar los "códigos de barras con paleta de colores integrada" que se proponen en este documento son EAN - 8, EAN - 13, UPC-A, etc. Ejemplos de códigos de barras 2D (distintos de los códigos QR) que se podrían utilizar para implementar los "códigos de barras con paleta de colores integrada" sugeridos son Data Matrix, Aztec Code, etc.
El código de barras 2D estándar 100 puede incluir unidades de codificación de color oscuro 101 -107 y unidades de codificación de color claro 108 -111. El color de "codificación" oscuro puede ser, por ejemplo, negro, azul marino, etc. y el color de "codificación" claro puede ser, por ejemplo, blanco, amarillo, etc. En el ejemplo concreto que se muestra, el código de barras 2D estándar es un código de barras QR (código de respuesta rápida) que incluye unidades de codificación cuadradas negras 101 -107 y unidades de codificación cuadradas blancas 108 -111.
El código de barras 2D estándar 100 se puede generar para codificar cualquier tipo de referencia a una ubicación de almacenamiento, tal como por ejemplo un enlace, un ID, una URL o cualquier información relevante que se pueda codificar en ASCII, UTF, etc., de manera que la ubicación de almacenamiento sea accesible a través de dicha referencia codificada por el código de barras 2D estándar 100. Los datos sobre la correspondiente paleta de colores integrada en el código de barras 100 se pueden almacenar en dicha ubicación de almacenamiento.
Según se muestra en la Figura 1, algunas unidades de codificación oscuras (por ejemplo, negras) 101 -107 pueden ser sustituidas por correspondientes colores de referencia oscuros (para corrección de color) 113 - 119, y algunas unidades de codificación claras (por ejemplo, blancas) 108 -111 pueden ser sustituidas por correspondientes colores de referencia claros (para corrección de color) 120 - 123. Esto puede permitir generar un código de barras 2D modificado 112 con una doble función de codificar la referencia a la ubicación de almacenamiento (primera función) y, además, de proporcionar colores de referencia para corrección de color (segunda función). El código de barras 2D modificado 112 también se puede denominar, en el presente documento, código de barras con paleta de colores (o colores de referencia) integrada.
La Figura 2 es un diagrama de flujo que ilustra de forma esquemática procedimientos, según ejemplos, para generar un código de barras con una paleta de colores integrada para corrección de color de una imagen capturada en formato digital, que puede ser del mismo tipo o similar al código de barras con paleta de colores que se ilustra en la Figura 1. Referencias numéricas de la Figura 1 pueden ser reutilizadas en la siguiente descripción de la Figura 2.
En el bloque 200, se puede iniciar el procedimiento como resultado de, por ejemplo, la recepción de una petición de inicio del procedimiento. Esta petición se puede generar automáticamente, por ejemplo, cuando un usuario del procedimiento causa la producción de una señal de inicio.
En el bloque 201, el procedimiento comprende generar (o determinar) un código de barras inicial bidimensional (2D) en blanco y negro (BN) 100 según un estándar de código de barras bidimensional en blanco y negro. El código de barras inicial bidimensional en blanco y negro 100 comprende una pluralidad de unidades de codificación, teniendo cada una de las cuales una posición predeterminada en el código de barras, e incluyendo la pluralidad de unidades de codificación unas unidades de codificación blancas 108 -111 y unas unidades de codificación negras 101 - 107, que codifican conjuntamente una referencia a una ubicación de almacenamiento para almacenar datos del correspondiente código de barras con paleta de colores integrada. Alternativamente, se pueden utilizar otros pares de colores "codificadores" con una diferencia de contraste significativa entre los mismos en lugar de los colores blanco y negro. Por ejemplo, el código de barras 2D 100 podría incluir unidades de codificación de un primer color, por ejemplo, azul marino, y de un segundo color, por ejemplo, amarillo, en lugar de las unidades de codificación más típicas blancas y negras.
En el bloque 202, el procedimiento comprende dividir un conjunto predefinido de colores de referencia para corrección de color en un conjunto de colores de referencia oscuros 113 -119 y un conjunto de colores de referencia claros 120 - 123 en función de un primer umbral de contraste (predefinido). En algunos ejemplos, el conjunto predefinido de colores de referencia puede corresponder a colores de una paleta de colores de propósito general (preexistente) para corrección de color. Alternativamente, el conjunto de colores de referencia se puede identificar a partir de un rango de colores que son representativos de un tipo de imágenes a capturar y a corregir su color. Este rango de colores se puede identificar, por ejemplo, tomando muestras de color de una pluralidad de imágenes de ejemplo (o de prueba) que sean representativas del tipo de imágenes a capturar y a corregir su color. A continuación, se pueden identificar colores prominentes del rango de colores y dichos colores prominentes se pueden asumir como el conjunto (predefinido) de colores de referencia. Los colores prominentes se pueden identificar, por ejemplo, agrupando en clústeres (clustering) los colores del rango de colores. Este agrupamiento en clústeres se puede realizar según cualquier técnica de agrupamiento en clústeres conocida, tal como por ejemplo, k-means. El primer umbral de contraste puede corresponder a un umbral predefinido en términos de, por ejemplo, luminancia de color, brillo de color, valor de escala de grises o cualquier valor escalar de información de color que tiene en cuenta una diferencia de luminosidad entre colores, que sea adecuado para discernir entre oscuridad y claridad de los colores de referencia.
En el bloque 203, el código de barras bidimensional en blanco y negro inicial 100 (procedente del bloque 201) es modificado de la misma manera o similar según se muestra en la Figura 1. En particular, el código de barras bidimensional en blanco y negro inicial 100 es modificado sustituyendo, según criterios de sustitución predefinidos, unidades de codificación negras 101 - 107 por colores de referencia oscuros 113 - 119 y unidades de codificación blancas 108 - 111 por colores de referencia claros 120 - 123. Los criterios de sustitución predefinidos pueden comprender, por ejemplo, una selección aleatoria de unidades de codificación negras y blancas para su sustitución por correspondientes colores de referencia oscuros y claros. Se pueden utilizar otros criterios de sustitución en función de, por ejemplo, la ubicación o posición espacial de las unidades de codificación a sustituir, selectividad predefinida de unidades de codificación a sustituir, etc. Los criterios de sustitución basados en la ubicación espacial pueden incluir, por ejemplo, seleccionar secuencialmente unidades de codificación (a sustituir) según direcciones izquierda - derecha y arriba - abajo, direcciones izquierda - derecha y abajo - arriba, direcciones derecha - izquierda y arriba - abajo, etc. Los criterios de sustitución basados en selectividad predefinida pueden incluir, por ejemplo, la selección de unidades de codificación (a sustituir) definidas como seleccionables para su sustitución, mientras que otras unidades de codificación no pueden ser seleccionadas porque no están definidas como seleccionables.
En el bloque 204, la ubicación de almacenamiento es actualizada con datos que representan los colores de referencia 113 - 123 incluidos en el código de barras bidimensional en blanco y negro modificado 112 y las correspondientes posiciones (o ubicaciones) en el código de barras atribuidas a dichos colores de referencia 113 -123 en el código de barras bidimensional en blanco y negro modificado 112. Estos datos almacenados en la ubicación de almacenamiento asociada con el código de barras con colores de referencia integrados 112 se pueden utilizar para realizar eficazmente la corrección de color según se describe en otras partes de la divulgación.
En el bloque 205, la ejecución del procedimiento puede terminar, por ejemplo, proporcionando el código de barras generado con la paleta de colores integrada 112 a un receptor correspondiente, tal como por ejemplo un usuario competente.
La Figura 3 es un diagrama de flujo que ilustra de forma esquemática procedimientos, según otros ejemplos, para generar un código de barras con una paleta de colores integrada para corrección de color de una imagen capturada en formato digital, que puede ser del mismo tipo o similar al código de barras con paleta de colores que se ilustra en la Figura 1. Referencias numéricas de la Figura 1 pueden ser reutilizadas en la siguiente descripción de la Figura 3. Los procedimientos que se ilustran en la Figura 3 son similares a los procedimientos de la Figura 2, con una diferencia principal de que el primer umbral de contraste se determina en función de un histograma de colores negros (oscuros) y blancos (claros) del código de barras bidimensional en blanco y negro inicial 100 junto con los colores de referencia 113 -123. Los bloques 300, 301, 305, 306 y 307 de la Figura 3 pueden ser iguales o similares a los bloques 200, 201, 203, 204 y 205 de la Figura 2, respectivamente.
En el bloque 302, el procedimiento puede comprender generar (o determinar) un histograma de un conjunto de colores formado por los colores negros/oscuros y blancos/claros del código de barras bidimensional en blanco y negro inicial 100 y los colores de referencia (para corrección de color) 113 -123. Para ello se puede utilizar cualquier procedimiento conocido de generar un histograma a partir de un conjunto de colores.
En el bloque 303 se puede determinar (o calcular) un valor promedio del histograma (procedente del bloque anterior 302). Dicho valor promedio puede ser, por ejemplo, una mediana del histograma, una media del histograma, un modo del histograma o cualquier valor "resumen" del histograma que denote una tendencia central del mismo. Se puede utilizar cualquier técnica conocida para determinar un valor promedio de un histograma con el fin sugerido.
El bloque 304 puede ser similar al bloque 202 de la Figura 2 pero con una diferencia consistente en que los colores de referencia se dividen en colores de referencia oscuros y claros en función del valor promedio del histograma (procedente del bloque 303) como primer umbral de contraste (o de división). Es decir, los colores de referencia que están por encima (o son iguales) al valor promedio del histograma se pueden clasificar como colores oscuros y los colores de referencia que están por debajo (o son iguales) al valor promedio del histograma se pueden clasificar como colores claros.
En los casos en que el código de barras bidimensional en blanco y negro inicial 100 se genera (según el estándar de código de barras bidimensional en blanco y negro) con uno o más píxeles de umbral que el estándar utilizará para decodificar el código de barras, dicho uno o más píxeles de umbral se pueden actualizar con el valor promedio del histograma. Esta actualización se puede realizar, por ejemplo, en el bloque 305, en el que el código de barras inicial es modificado con colores de referencia oscuros y claros. Esta característica puede promover la evitación o reducción de errores cuando se decodifica (de manera estándar) el código de barras con colores de referencia integrados 112, para obtener la referencia a la ubicación de almacenamiento, en el contexto de procedimientos según la presente divulgación.
Un aspecto de los enfoques anteriores basados en un histograma y su valor promedio es que se puede determinar un primer umbral de contraste (o de división) muy adecuado para dividir de manera fiable los colores de referencia en colores de referencia oscuros y claros. Y esta división fiable puede inducir a que el código de barras con paleta de colores integrada 112 sea más eficaz en el sentido de que se pueden evitar o minimizar los errores en su decodificación estándar. En otras palabras, el código de barras con paleta de colores integrada 112 puede ser decodificado satisfactoriamente de manera estándar a pesar de la presencia de colores de referencia (para corrección de color). En algunos ejemplos, el estándar de código de barras bidimensional en blanco y negro puede incluir un mecanismo de corrección de errores para hacer que cualquier código de barras bidimensional en blanco y negro generado según el estándar sea globalmente decodificable siempre que un ratio de unidades de codificación decodificables individualmente (en el código de barras bidimensional en blanco y negro) sea superior a un ratio de unidades de codificación predefinido. Teniendo esto en cuenta, el primer umbral de contraste (utilizado en los procedimientos según, por ejemplo, las Figuras 2 y 3) se puede ajustar de manera que se satisfaga dicha condición con respecto al ratio de unidades de codificación predefinido. Se puede utilizar un enfoque iterativo para variar iterativamente el primer umbral de contraste (o de división) hasta que se encuentre un ratio de unidades de codificación decodificables individualmente que sea superior al ratio de unidades de codificación predefinido. También se puede utilizar cualquier técnica o algoritmo de maximización para determinar un ajuste del primer umbral de contraste que maximice un ratio de unidades de codificación decodificables individualmente por encima del ratio de unidades de codificación predefinido. Este ajuste del primer umbral de contraste (o de división) puede promover una decodificación estándar satisfactoria del código de barras bidimensional en blanco y negro modificado, incluso en el caso de que las unidades de codificación blancas y negras no se hayan sustituido con suficiente "precisión" por correspondientes colores de referencia. En otras palabras, sustituciones inadecuadas de unidades de codificación blancas y negras por colores de referencia pueden ser "absorbidas" (o compensadas) por el mecanismo de corrección de errores del estándar de código de barras bidimensional en blanco y negro.
Según algunas implementaciones, el conjunto predefinido de colores de referencia (utilizado para generar el código de barras con paleta de colores integrada 112) puede incluir réplicas de al menos algunos de los colores de referencia. Esto puede aumentar la fiabilidad del código de barras con paleta de colores integrada 112 cuando se utiliza en procedimientos como los que se describen en otras partes de la divulgación, dado que se distribuyen espacialmente diferentes instancias de los mismos colores de referencia en el código de barras 112. Esta distribución espacial de los mismos colores puede promover una compensación de diferentes condiciones de luz y/o captura que afectan a dichos colores de referencia distribuidos espacialmente en el código de barras 112.
En algunos procedimientos de generación de código de barras según la presente divulgación, la división del conjunto predefinido de colores de referencia puede comprender identificar colores de referencia con una proximidad excesiva al primer umbral de contraste (o de división). Esta excesiva proximidad se puede determinar, por ejemplo, en función de un umbral de proximidad predefinido que, cuando es superado por el correspondiente color de referencia, dicho color de referencia se puede clasificar como de oscuridad/claridad "dudosa". Por lo tanto, es probable que estos colores dudosos puedan dar lugar a distorsiones cuando se decodifique (de modo estándar) el código de barras. Sin embargo, cualquier distorsión en la decodificación (estándar) del código de barras con paleta de colores integrada 112 debido a dicha oscuridad/claridad "dudosa" puede ser absorbida o compensada por el mecanismo (ajustado) de corrección de errores que se ha descrito anteriormente. De este hecho se desprende que la asignación de colores de referencia "dudosos" a correspondientes unidades de codificación claras/blancas u oscuras/negras puede no ser crítica cuando se dispone de dicho mecanismo de corrección de errores.
En algunos casos, el estándar de código de barras bidimensional en blanco y negro puede estar configurado para generar unidades restringidas que pueden no tener un propósito de codificación y, por lo tanto, pueden no estar cubiertas por las capacidades de corrección de errores del mecanismo de corrección de errores. Sin embargo, esas unidades restringidas pueden desempeñar un papel fundamental en la decodificación estándar del código de barras, por ejemplo, en etapas de reconocimiento óptico de correspondientes algoritmos de decodificación estándar. Implementaciones que incluyen la mencionada identificación de colores de referencia "dudosos" pueden evitar asignar colores "dudosos" a dichas unidades restringidas. Esto puede contribuir, de este modo, a producir un código de barras con una paleta de colores integrada 112 que sea efectivamente decodificable según el estándar o especificación pre­ conocida de códigos de barras bidimensionales en blanco y negro.
Se pueden proporcionar códigos de barras con paleta de colores integrada según códigos de barras modificados resultantes de procedimientos de generación de código de barras como los que se describen con referencia a las Figura 2 y 3. Dichos códigos de barras con paleta de colores integrada 112 se pueden producir, por ejemplo, utilizando técnicas de impresión o cualquier otro procedimiento/técnica de pintar, colorear un sustrato adecuado (por ejemplo, papel).
También se pueden proporcionar dispositivos sensores para medir (o detectar) una condición ambiental o física. Un dispositivo sensor de este tipo puede comprender cualquiera de los códigos de barras anteriores con colores de referencia integrados y una unidad de color variable que incluye un material o sustancia que cambia de color según la condición ambiental o física. Esta unidad de color variable se puede identificar expresamente como una unidad "diferenciada" teniendo en cuenta su función de sensor en contraposición a la función de corrección de color de los colores de referencia. Con este fin, se pueden utilizar datos de identificación especiales para distinguir dicha unidad de color variable con respecto a unidades de colores de referencia. Dichos datos de identificación especial pueden ser almacenados correspondientemente en la pertinente ubicación de almacenamiento y utilizados para procesar el color variable de dicha unidad diferenciada. La unidad de color variable puede ser interna al código de barras, en cuyo caso, por ejemplo, la unidad de color variable puede ser (o cubrir) una o más de las unidades de codificación que forman el código de barras. La unidad o unidades de codificación que constituyen (o están cubiertas por) la unidad de color variable pueden no incluir ninguna unidad restringida (en los términos que se han descrito anteriormente) para evitar distorsiones cuando se decodifica (de modo estándar) el código de barras con paleta de colores integrada. En configuraciones alternativas, la unidad de color variable puede ser externa al código de barras y, por lo tanto, se puede tratar como si fuera la imagen capturada a corregir su color. El color cambiante se puede corregir realizando procedimientos de corrección de color iguales o similares a los que se describen en la presente divulgación, es decir, en función de los colores de referencia del código de barras con paleta de colores integrada. Una vez realizada la corrección de color, se puede medir (o detectar) la condición ambiental o física en función del color corregido de la unidad de color variable. Para ello, se puede utilizar cualquier tipo de estructura de datos que implemente o contenga una equivalencia (o correspondencia, correlación, etc.) entre el color corregido y la condición ambiental o física. Por ejemplo, se puede utilizar una tabla que incluya, por ejemplo, una columna color y una columna condición junto con tantas filas como sean necesarias para almacenar diferentes instancias de correlaciones o equivalencias entre condición y color. Esta tabla puede ser, por ejemplo, una tabla de búsqueda o cualquier otro tipo de estructura de datos que se pueda almacenar en una correspondiente memoria, base de datos, sistema de archivos, etc.
Se pueden proporcionar sistemas de generación de código de barras que son adecuados para realizar procedimientos de generación de código de barras como los que se describen en otras partes de la presente divulgación. Dichos sistemas pueden ser implementados por medios informáticos, electrónicos o una combinación de los mismos. Los medios informáticos pueden ser un conjunto de instrucciones (es decir, un programa informático) y entonces el sistema puede comprender una memoria y un procesador, que incluyen dicho conjunto de instrucciones almacenadas en la memoria y ejecutables por el procesador. Las instrucciones pueden comprender una funcionalidad para ejecutar procedimientos iguales o similares a los que se describen en el presente documento.
En caso de que un sistema esté implementado sólo por medios electrónicos, el controlador puede ser, por ejemplo, un dispositivo lógico programable complejo (CPLD: Complex Programmable Logic Device), una matriz de puertas lógicas programable en campo (FPGA: Field Programmable Gate Array) o un circuito integrado específico de aplicación (ASIC: ApplicatioN - Specific Integrated Circuit).
En el caso de que un sistema sea una combinación de medios electrónicos e informáticos, los medios informáticos pueden ser un conjunto de instrucciones (por ejemplo, un programa informático) y los medios electrónicos pueden ser cualquier circuito electrónico capaz de implementar la correspondiente etapa o etapas de los procedimientos correspondientes.
El programa informático puede estar incluido en un medio de almacenamiento (por ejemplo, un CD-ROM, un DVD, una unidad USB, una memoria de dispositivo informático o una memoria de sólo lectura) o ser portado en una señal portadora (por ejemplo, en una señal portadora eléctrica u óptica).
El programa informático puede estar en forma de código fuente, código objeto, una forma intermedia entre código fuente y código objeto tal como en forma parcialmente compilada, o en cualquier otra forma adecuada para su uso en la implementación de correspondientes procedimientos. El portador puede ser cualquier entidad o dispositivo capaz de portar el programa informático.
Por ejemplo, el portador puede comprender un medio de almacenamiento, tal como una ROM, por ejemplo una CD ROM o una ROM semiconductora, o un medio de grabación magnético, por ejemplo un disco duro. Además, el portador puede ser un portador transmisible, tal como una señal eléctrica u óptica, que puede ser transmitida por cable eléctrico u óptico o por radio u otros medios.
Cuando el programa informático está incluido en una señal que puede ser transmitida directamente por un cable u otro dispositivo o medio, el portador puede estar constituido por dicho cable u otro dispositivo o medio.
Alternativamente, el portador puede ser un circuito integrado en el que el programa informático está integrado, estando el circuito integrado adaptado para realizar, o para uso en la realización de, los procedimientos correspondientes. La Figura 4 es una representación esquemática de una escena capturada en formato digital que incluye una imagen capturada 400 y un código de barras capturado con paleta de colores integrada 404 del mismo tipo o similar al que se muestra en la Figura 1. El código de barras con paleta de colores integrada 404 se puede haber determinado realizando procedimientos iguales o similares a los que se ilustran en las Figura 2 y 3.
La escena capturada en formato digital se puede obtener utilizando cualquier dispositivo de captura digital conocido (por ejemplo, una cámara fotográfica digital) para capturar una escena real que incluye una imagen real y un código de barras real con paleta de colores dispuesto en las proximidades de la imagen real. La escena real también se puede capturar utilizando un dispositivo de captura analógico y la escena capturada resultante se puede digitalizar utilizando cualquier procedimiento conocido con dicho objetivo.
En el ejemplo concreto que se ilustra, la imagen real corresponde a una manzana y el código de barras real con paleta de colores integrada corresponde a un código de barras modificado 112 igual o similar al que se muestra en la Figura 1. El código de barras con paleta de colores integrada 112 se puede haber determinado realizando procedimientos iguales o similares a los que se describen con referencia a las Figura 2 y 3. El código de barras real con paleta de colores integrada puede comprender colores de referencia reales para corrección de color. Los colores de la imagen real se pueden denominar colores de imagen reales.
La imagen capturada 400 puede incluir colores de imagen aparentes que corresponden a los colores de imagen reales según se ven en la imagen capturada. Los colores de imagen aparentes pueden incluir, por ejemplo, diferentes niveles de rojo 401 que corresponden principalmente a la propia manzana, diferentes niveles de marrón 403 que corresponden principalmente a un tallo de la manzana, diferentes niveles de verde 402 que corresponden principalmente a una hoja del tallo, etc.
El código de barras capturado con paleta de colores integrada 404 puede corresponder, por ejemplo, a un código QR capturado con colores de referencia (para corrección de color) integrados 405, 406. El código de barras capturado con paleta de colores integrada 404 puede comprender colores de referencia aparentes 405, 406 correspondientes a colores de referencia reales según se ven en el código de barras capturado 404.
Los colores de referencia aparentes en el código de barras capturado con paleta de colores integrada 404 pueden ser iguales o similares a los colores aparentes en la imagen capturada 400. En el ejemplo particular que se ilustra, el color aparente 405 en el código de barras capturado 404 se muestra similar al color aparente 405 en la imagen capturada 400, y el color aparente 406 en el código de barras capturado 404 se muestra similar al color aparente 406 en la imagen capturada 400.
Una escena capturada como la de la Figura 4 puede ser una entrada a procedimientos según la presente divulgación. Dichos procedimientos pueden considerar desviaciones entre colores reales y aparentes de la paleta de colores 404 para corrección del color de la imagen capturada 400 en el caso de colores de la imagen capturada 400 que coincidan sustancialmente con los colores de referencia aparentes de la paleta de colores capturada 404. Se pueden utilizar, por ejemplo, técnicas de interpolación para corregir los colores de imagen aparentes sin un color de referencia similar en la paleta 404 (es decir, colores de imagen aparentes que se encuentran en un punto intermedio entre dos colores aparentes de referencia diferentes de la paleta capturada 404). En las Figuras 5 y 6 se proporcionan detalles sobre los procedimientos.
La Figura 5 es un diagrama de flujo que ilustra de forma esquemática procedimientos, según ejemplos, para corrección de color de una imagen capturada incluida en una escena capturada del mismo tipo o similar a la que se muestra en la Figura 4. Por lo tanto, referencias numéricas de dicha Figura 4 pueden ser reutilizadas en la siguiente descripción de la Figura 5.
En el bloque 500, se puede iniciar el procedimiento como resultado de, por ejemplo, recibir una petición de inicio del procedimiento. Esta petición se puede generar automáticamente, por ejemplo, cuando un usuario del procedimiento provoca la producción de una señal de inicio.
En el bloque 501, el código de barras capturado con paleta de colores integrada 404 puede ser identificado (geométricamente) en la escena capturada. Esto se puede realizar en función de unidades posicionales incluidas en el código de barras capturado 404 según el estándar que se haya utilizado para generar el código de barras. Estas unidades posicionales pueden ser utilizadas por el estándar para identificar la posición (y posiblemente la orientación) del código de barras capturado 404 dentro de la escena capturada. En el ejemplo concreto que se muestra, se indican tres unidades posicionales 407 - 409.
En el bloque 502, el código de barras capturado con paleta de colores integrada 404 se puede decodificar según el estándar de código de barras bidimensional en blanco y negro (que se ha utilizado para generar el código de barras con paleta de colores 404) con el fin de determinar (u obtener) la correspondiente referencia a una ubicación de almacenamiento en la que se almacenan datos del código de barras capturado 404. Esto se puede realizar utilizando cualquier software (preexistente) que implemente la decodificación estándar de códigos de barras (según el estándar o especificación pre-conocida de códigos de barras bidimensionales en blanco y negro).
En el bloque 503, el procedimiento puede incluir acceder a la ubicación de almacenamiento a través de la referencia a la ubicación de almacenamiento determinada que ha producido la decodificación del código de barras capturado con paleta de colores integrada 404 (realizada en el bloque 502). Este acceso se puede realizar para recuperar los colores de referencia reales de la paleta de colores y las correspondientes posiciones de los colores de referencia reales en el código de barras con paleta de colores integrada.
En el bloque 504, los colores de referencia aparentes del código de barras capturado con paleta de colores integrada 404 se pueden determinar (o identificar) en base a las posiciones (o ubicaciones) recuperadas de los colores de referencia reales en la paleta de colores. Esas posiciones se pueden representar, por ejemplo, mediante uno o más puntos en un sistema de coordenadas de referencia, un número de celda en una matriz posicional de referencia, etc. Una vez recuperadas, dichas ubicaciones (o posiciones) en el código de barras capturado con paleta de colores 404 pueden ser inspeccionadas para identificar los colores de referencia aparentes correspondientes a los colores de referencia reales recuperados. Por lo tanto, este bloque 504 puede finalmente producir un conjunto de pares de colores, incluyendo cada uno de los cuales un color de referencia aparente y su correspondiente color de referencia real.
En el bloque 505, el procedimiento puede procesar los pares de colores procedentes del bloque 504 para determinar (o calcular), para cada uno de (al menos algunos de) los colores de referencia reales, una desviación de color entre el color de referencia real y su correspondiente color de referencia aparente. Una desviación de color entre un color aparente y el correspondiente color real se puede representar, por ejemplo, mediante una distancia entre coordenadas de color del color aparente y coordenadas de color del color real en un espacio de color de referencia (por ejemplo, el espacio de color RGB).
En el bloque 506, se puede realizar la corrección de color de la imagen capturada ajustando los colores aparentes de la imagen en función de las desviaciones de color determinadas entre colores de referencia reales y aparentes. Cualquier color aparente de la imagen que coincida sustancialmente con un color de referencia aparente se puede corregir aplicando (o transfiriendo) la desviación de color entre dicho color de referencia aparente y el correspondiente color de referencia real al color aparente de la imagen. Todo color aparente de la imagen que no coincida sustancialmente con alguno de los colores de referencia aparentes se podrá corregir aplicando, por ejemplo, una interpolación entre colores de referencia aparentes menos distantes y correspondientes desviaciones de color. En el bloque 507, la ejecución del procedimiento puede terminar, por ejemplo, proporcionando la imagen corregida a un receptor correspondiente, tal como por ejemplo un usuario competente, un controlador de un dispositivo de imágenes o una cámara, etc.
La Figura 6 es un diagrama de flujo que ilustra de forma esquemática procedimientos, según otros ejemplos, para corrección de color de una imagen capturada incluida en una escena capturada del mismo tipo o similar a la que se muestra en la Figura 4. Por lo tanto, referencias numéricas de dicha Figura 4 pueden ser reutilizadas en la siguiente descripción de la Figura 6.
Los procedimientos que se ilustran en la Figura 6 son similares a los procedimientos de la Figura 5, con una diferencia principal que se encuentra en la binarización del código de barras capturado con paleta de colores 404 en función de un (segundo) umbral de contraste variable. Los bloques 600, 601, 606, 607, 608, 609 y 610 de la Figura 6 pueden ser iguales o similares a los bloques 500, 501, 503, 504, 505, 506 y 507 de la Figura 5, respectivamente.
En el bloque 602, el código de barras capturado con paleta de colores integrada 404 (identificado en el bloque 601) puede ser binarizado en colores blanco y negro (o cualquier otro par de colores con suficiente diferencia de contraste entre los mismos). Esta binarización se puede realizar en función de un (segundo) umbral de contraste potencialmente variable. En particular, cualquier color aparente de referencia en el código de barras capturado 404 puede ser convertido a un color negro/oscuro si dicho color aparente está por encima del (segundo) umbral de contraste o, de lo contrario, puede ser convertido a un color blanco/claro. El (segundo) umbral de contraste puede corresponder a un umbral predefinido en términos de, por ejemplo, luminancia de color, brillo de color, valor de escala de grises o cualquier valor escalar de información de color que tiene en cuenta una diferencia de luminosidad entre distintos colores, lo que resulta adecuado para discernir entre oscuridad y claridad de los colores. El código de barras con paleta de colores 404 binarizado de la manera propuesta puede resultar decodificable de forma estándar con una reducida propensión al error.
En el bloque 603, el código de barras binarizado con paleta de colores integrada 404 se puede decodificar según el estándar de código de barras bidimensional en blanco y negro para obtener la correspondiente referencia (por ejemplo, enlace, ID, URL...) a la ubicación de almacenamiento que contiene datos sobre el código de barras con paleta de colores integrada 404. La decodificación del código de barras binarizado 404 se puede realizar a través de cualquier programa informático (preexistente) según el estándar de código de barras bidimensional en blanco y negro considerado. Una diferencia entre este bloque 603 y el bloque 502 de la Figura 5 puede residir en que el código de barras capturado 404 es binarizado antes de su decodificación, mientras que, en el bloque 502, la decodificación se realiza sin binarización previa.
En el bloque 604, se puede verificar si la decodificación realizada en el bloque 603 ha producido una condición de error. En caso de resultado positivo (o verdadero) de dicha verificación, el procedimiento puede proceder al bloque 605 para variar el segundo umbral de contraste y posteriormente intentar (en el bloque 602) una nueva binarización con el segundo umbral de contraste variado y correspondiente decodificación (en el bloque 603) del código de barras binarizado. En caso de resultado negativo (o falso) de dicha verificación, el procedimiento puede continuar al bloque 606 para acceder a la ubicación de almacenamiento a través de la referencia que ha producido la decodificación realizada en el bloque 603. Una condición de decodificación errónea puede comprender, por ejemplo, un error de decodificación producido por el estándar de código de barras bidimensional en blanco y negro, insatisfacción de un formato predefinido que se espera que satisfaga cualquier referencia a una ubicación de almacenamiento, etc. En el caso de que el código de barras con paleta de colores 404 incluya algunos colores de referencia reales replicados, el procedimiento puede incluir determinar (o calcular), para cada uno de (al menos algunos de) los colores de referencia reales replicados, un promedio de los colores de referencia aparentes correspondientes al color de referencia real replicado. Entonces, dicho promedio se puede utilizar para determinar una correspondiente desviación de color entre los colores de referencia aparentes promediados y el color de referencia real replicado. Esto puede aumentar la fiabilidad del procedimiento porque diferentes instancias de los mismos colores de referencia están distribuidas espacialmente dentro del código de barras y, por lo tanto, se pueden compensar divergencias de luz y/o condiciones de captura que afectan de manera diferente a los colores de referencia replicados.
Como en el caso de los procedimientos de generación de código de barras propuestos en el presente documento, también se pueden proporcionar correspondientes programas informáticos y sistemas (informáticos) que son adecuados para realizar procedimientos de corrección de color según la presente divulgación. Principios generales comentados con respecto a programas informáticos y sistemas (informáticos) configurados para realizar procedimientos de generación de código de barras se pueden aplicar igualmente o de forma similar a programas informáticos y sistemas (informáticos) que son adecuados para implementar procedimientos de corrección de color. Según se ha descrito anteriormente, los procedimientos de generación de código de barras y los procedimientos de corrección de color propuestos en el presente documento pueden utilizar diferentes umbrales para identificar situaciones especiales en función de una magnitud variable. Dichos umbrales se utilizan, por ejemplo, para discernir entre colores oscuros y claros, detectar excesiva proximidad entre un color de referencia y umbral de división, etc. Dichos umbrales pueden ser preestablecidos realizando experimentos para determinar a partir de qué valor la correspondiente magnitud variable puede denotar una situación especial. Dichos experimentos se pueden basar, por ejemplo, en cálculos de datos de prueba y su correspondiente validación por parte de un usuario competente para refinar (continuamente y/o regularmente) el umbral. Este refinamiento se puede realizar tantas veces como sea necesario a lo largo de la vida del correspondiente procedimiento (y programa/sistema informático) y en función de resultados proporcionados por el propio procedimiento.

Claims (15)

REIVINDICACIONES
1. Un procedimiento para generar un código de barras con una paleta de colores integrada para corrección de color de una imagen capturada en formato digital, comprendiendo el procedimiento:
Generar (201) un código de barras inicial (100) según un estándar o especificación pre-conocida de códigos de barras, estando el código de barras inicial formado por una pluralidad de unidades de codificación, teniendo cada una de las cuales una posición predeterminada en el código de barras, e incluyendo la pluralidad de unidades de codificación unas unidades de codificación de color claro (108 - 111) y unas unidades de codificación de color oscuro (101 - 107) que codifican conjuntamente un enlace a una ubicación de almacenamiento para almacenar datos de la paleta de colores integrada en el código de barras;
dividir (202) un conjunto predefinido de colores de referencia para corrección de color en un conjunto de colores de referencia oscuros (113 - 119) y un conjunto de colores de referencia claros (120 - 123) en función de un primer umbral de contraste;
según uno o más criterios de sustitución predefinidos, modificar (203) el código de barras inicial sustituyendo, para cada uno de al menos algunos de los colores de referencia oscuros, una unidad de codificación de color oscuro por el color de referencia oscuro, y sustituyendo, para cada uno de al menos algunos de los colores de referencia claros, una unidad de codificación de color claro por el color de referencia claro;
acceder (204) a la ubicación de almacenamiento a través del enlace a la ubicación de almacenamiento y actualizar la ubicación de almacenamiento con datos que representan los colores de referencia incluidos en el código de barras modificado (112) y correspondientes posiciones del código de barras atribuidas a dichos colores de referencia en el código de barras modificado.
2. Un procedimiento según la reivindicación 1, en el que el conjunto predefinido de colores de referencia corresponde a colores de una paleta de colores de propósito general para corrección de color.
3. Un procedimiento según una cualquiera de las reivindicaciones 1 o 2, en el que el primer umbral de contraste es definido en términos de luminancia de color, brillo de color, valor de escala de grises o cualquier valor escalar de información de color que tiene en cuenta una diferencia de luminosidad entre colores.
4. Un procedimiento según una cualquiera de las reivindicaciones 1 a 3, en el que el uno o más criterios de sustitución comprenden una selección aleatoria de unidades de codificación de color oscuro y de color claro para su sustitución por correspondientes colores de referencia oscuros y claros.
5. Un procedimiento según una cualquiera de las reivindicaciones 1 a 4, que comprende además
generar un histograma de un conjunto de colores que incluye los colores oscuros y claros del código de barras inicial y los colores de referencia predefinidos; y
determinar un valor promedio del histograma para utilizarlo como el primer umbral de contraste.
6. Un procedimiento según una cualquiera de las reivindicaciones 1 a 5, en el que el estándar o especificación preconocida de códigos de barras incluye un mecanismo de corrección de errores para hacer que cualquier código de barras determinado según el estándar o especificación pre-conocida sea globalmente decodificable siempre que un ratio de unidades de codificación decodificables individualmente en dicho código de barras sea superior a un ratio de unidades de codificación predefinido; y en el que
el primer umbral de contraste es predefinido o ajustado para inducir que el ratio de unidades de codificación decodificables individualmente sea superior al ratio de unidades de codificación predefinido.
7. Un procedimiento para corrección de color de una imagen capturada incluida en una escena capturada en formato digital, siendo la escena capturada el resultado de una captura de la escena que comprende la imagen y un código de barras con una paleta de colores integrada generado realizando un procedimiento según una cualquiera de las reivindicaciones 1 a 6, incluyendo la imagen unos colores de imagen reales e incluyendo el código de barras con paleta de colores integrada unos colores de referencia reales; en el que
la escena capturada comprende la imagen capturada y el código de barras capturado con paleta de colores integrada, incluyendo la imagen capturada unos colores de imagen aparentes según se ven en la imagen capturada, e incluyendo el código de barras capturado con paleta de colores integrada unos colores de referencia aparentes según se ven en el código de barras capturado con paleta de colores integrada; y en el que el procedimiento comprende:
identificar el código de barras capturado con paleta de colores integrada en la escena capturada; decodificar el código de barras capturado con paleta de colores integrada según el estándar o especificación pre­ conocida de códigos de barras utilizado para generar el código de barras con paleta de colores integrada, para determinar el correspondiente enlace a la ubicación de almacenamiento en la que se almacenan datos de la paleta de colores integrada en el código de barras;
acceder a la ubicación de almacenamiento a través del enlace a la ubicación de almacenamiento determinado, para recuperar los colores de referencia reales en el código de barras con paleta de colores integrada y correspondientes posiciones de los colores de referencia reales en el código de barras con paleta de colores integrada; identificar los colores de referencia aparentes en el código de barras capturado con paleta de colores integrada, en base a las posiciones recuperadas de los colores de referencia reales en el código de barras con paleta de colores integrada;
determinar, para cada uno de al menos algunos de los colores de referencia reales, una desviación de color entre el color de referencia real y el correspondiente color de referencia aparente; y
realizar una corrección de color de la imagen capturada ajustando los colores aparentes de la imagen en función de las desviaciones de color determinadas entre colores de referencia reales y aparentes.
8. Un procedimiento según la reivindicación 7, en el que decodificar el código de barras capturado con paleta de colores integrada comprende:
binarizar el código de barras capturado con paleta de colores integrada convirtiendo los colores de referencia aparentes, según se ven en el código de barras capturado con paleta de colores integrada, en colores oscuros o claros en función de si el correspondiente color de referencia aparente está, respectivamente, por debajo o por encima de un segundo umbral de contraste; y
decodificar el código de barras binarizado con paleta de colores integrada según el estándar o especificación pre­ conocida de códigos de barras.
9. Un procedimiento según la reivindicación 8, que comprende además verificar si la decodificación del código de barras binarizado con paleta de colores integrada produce una condición de error; y en el que
en caso de condición de error, se realiza un bucle de forma iterativa según uno o más criterios de iteración predefinidos, comprendiendo cada iteración del bucle
variar el segundo umbral de contraste;
binarizar el código de barras capturado con paleta de colores integrada teniendo en cuenta dicho segundo umbral de contraste variado; y
decodificar dicho código de barras con paleta de colores integrada capturado binarizado.
10. Un procedimiento según la reivindicación 9, en el que el uno o más criterios de iteración predefinidos comprenden realizar iteraciones del bucle hasta que no se produzca la condición de error por parte de la decodificación del código de barras binarizado con paleta de colores integrada en una correspondiente iteración.
11. Un procedimiento según una cualquiera de las reivindicaciones 9 o 10, en el que la condición de error comprende la producción, por parte de la decodificación del código de barras binarizado con paleta de colores integrada, de una salida que no satisface un formato predefinido que se espera que satisfaga cualquier enlace a ubicación de almacenamiento.
12. Un procedimiento según una cualquiera de las reivindicaciones 9 a 11, en el que la condición de error comprende la producción, por parte de la decodificación del código de barras binarizado con paleta de colores integrada, de un error de decodificación según el estándar o especificación pre-conocida de códigos de barras.
13. Un procedimiento según una cualquiera de las reivindicaciones 7 a 12, en el que el código de barras con paleta de colores integrada comprende una o más réplicas de uno o más de los colores de referencia reales; y en el que determinar las desviaciones de color entre colores de referencia reales y aparentes comprende
determinar, para cada uno de al menos algunos de los colores de referencia reales replicados, un promedio de los colores de referencia aparentes correspondientes al color de referencia real replicado, y determinar la correspondiente desviación de color entre los colores de referencia aparentes promediados y el color de referencia real replicado; o determinar, para cada uno de al menos algunos de los colores de referencia reales replicados, una desviación de color en el espacio de color de referencia entre el color de referencia real replicado y cada uno de los colores de referencia aparentes correspondientes al color de referencia real replicado.
14. Un sistema para generar un código de barras con una paleta de colores integrada para corrección de color de una imagen capturada en formato digital, comprendiendo el sistema:
un módulo de generación configurado para generar un código de barras inicial según un estándar o especificación pre-conocida de códigos de barras, estando el código de barras inicial formado por una pluralidad de unidades de codificación, teniendo cada una de las cuales una posición predeterminada en el código de barras, e incluyendo la pluralidad de unidades de codificación unas unidades de codificación de color claro y unas unidades de codificación de color oscuro que codifican conjuntamente un enlace a una ubicación de almacenamiento para almacenar datos de la paleta de colores integrada en el código de barras;
un módulo de división para dividir un conjunto predefinido de colores de referencia para corrección de color en un conjunto de colores de referencia oscuros y un conjunto de colores de referencia claros en función de un primer umbral de contraste;
un módulo de modificación para modificar, según uno o más criterios de sustitución predefinidos, el código de barras inicial sustituyendo, para cada uno de al menos algunos de los colores de referencia oscuros, una unidad de codificación de color oscuro por el color de referencia oscuro, y sustituyendo, para cada uno de al menos algunos de los colores de referencia claros, una unidad de codificación de color claro por el color de referencia claro;
un módulo de actualización para acceder a la ubicación de almacenamiento a través del enlace a la ubicación de almacenamiento y actualizar la ubicación de almacenamiento con datos que representan los colores de referencia incluidos en el código de barras modificado y correspondientes posiciones del código de barras atribuidas a dichos colores de referencia en el código de barras modificado.
15. Un procedimiento de generar un sensor de condición ambiental o física, que comprende: proporcionar un código de barras con una paleta de colores integrada realizando un procedimiento según una cualquiera de las reivindicaciones 1 a 6, y una unidad de color variable que incluye un material o sustancia de color cambiante según la condición ambiental o física.
ES19702223T 2018-01-26 2019-01-24 Corrección de color Active ES2953913T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18382043 2018-01-26
PCT/EP2019/051696 WO2019145390A1 (en) 2018-01-26 2019-01-24 Colour correction

Publications (1)

Publication Number Publication Date
ES2953913T3 true ES2953913T3 (es) 2023-11-17

Family

ID=61187244

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19702223T Active ES2953913T3 (es) 2018-01-26 2019-01-24 Corrección de color

Country Status (12)

Country Link
US (1) US11308300B2 (es)
EP (1) EP3744080B1 (es)
JP (1) JP7267629B2 (es)
KR (1) KR20200124676A (es)
CN (1) CN111869193A (es)
BR (1) BR112020015129A2 (es)
CA (1) CA3089330A1 (es)
ES (1) ES2953913T3 (es)
IL (1) IL276259B2 (es)
MX (1) MX2020007865A (es)
RU (1) RU2020128285A (es)
WO (1) WO2019145390A1 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102388714B1 (ko) * 2019-10-17 2022-04-19 아주대학교산학협력단 황달 진단 패치, 패치 인증 시스템 및 이를 이용한 황달 진단 방법
US11842236B2 (en) * 2019-11-15 2023-12-12 Apple Inc. Colored visual markers for variable use
JP7347152B2 (ja) * 2019-11-19 2023-09-20 セイコーエプソン株式会社 画像処理装置、画像処理方法および記録装置
CN112907470A (zh) * 2021-02-05 2021-06-04 北京理工大学 基于Lab色域变换、分类及白平衡的水下图像恢复方法
JP2022139238A (ja) 2021-03-11 2022-09-26 キヤノン株式会社 画像処理システム及び画像処理方法
JP2022139237A (ja) * 2021-03-11 2022-09-26 キヤノン株式会社 情報処理装置とプログラム及び画像処理方法
WO2023117688A1 (de) * 2021-12-22 2023-06-29 Bayer Aktiengesellschaft Auslesen von optisch lesbaren codes
EP4206627A1 (en) * 2021-12-29 2023-07-05 X-Rite, Inc. A color measurement system comprising a calibration plaque
WO2024076756A1 (en) * 2022-10-06 2024-04-11 Ohio State Innovation Foundation Systems and methods of color correction for colorimetric measurements

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6980221B2 (en) * 2001-07-06 2005-12-27 Eastman Kodak Company Method for representing a digital color image using a set of palette colors
JP2005165565A (ja) * 2003-12-01 2005-06-23 Kenpakku:Kk カラーコードシンボル及びカラーコードシンボル生成方法並びに、カラーコードシンボルを生成する記憶媒体。
JP4873623B2 (ja) * 2006-07-28 2012-02-08 Kddi株式会社 カラー画像へのバーコード埋め込み方法および装置、およびコンピュータプログラム
US8186593B2 (en) * 2008-07-29 2012-05-29 Xerox Corporation Colored barcode decoding
JP5182182B2 (ja) * 2009-03-25 2013-04-10 株式会社デンソーウェーブ 色補正方法及び撮像システム
GB201000835D0 (en) * 2010-01-19 2010-03-03 Akzo Nobel Coatings Int Bv Method and system for determining colour from an image
US8313030B2 (en) * 2010-11-11 2012-11-20 Psion Inc. System and method for barcode scanning with color image sensors
CN103377390B (zh) * 2012-04-26 2016-12-07 阿里巴巴集团控股有限公司 二维码的生成、识别方法和装置
US8948445B2 (en) * 2012-05-03 2015-02-03 The Hong Kong University Of Science And Technology Embedding visual information in a two-dimensional bar code
GB201210417D0 (en) * 2012-06-13 2012-07-25 Ffei Ltd Method and apparatus for a self-contained colour scanner characterisation target
US8879832B2 (en) * 2012-06-26 2014-11-04 Xerox Corporation Color matrix code
US9311520B2 (en) * 2012-08-08 2016-04-12 Scanadu Incorporated Method and apparatus for performing and quantifying color changes induced by specific concentrations of biological analytes in an automatically calibrated environment
US9410827B2 (en) * 2012-10-09 2016-08-09 Pixameter Corp. Measurement using a calibration pattern
US8976252B2 (en) * 2013-01-30 2015-03-10 Hewlett-Packard Development Company, L.P. Acquisition of color calibration charts
JP6099258B2 (ja) * 2013-02-14 2017-03-22 株式会社テララコード研究所 光学コード及び該光学コードの生成方法
US9311584B2 (en) * 2013-05-24 2016-04-12 King Abdulaziz City for Science and Technology (KACST) Multidimensional color barcode
US20150312573A1 (en) * 2014-03-17 2015-10-29 Nokia Technologies Oy Method and technical equipment for video encoding and decoding
US9824441B2 (en) * 2014-04-15 2017-11-21 Gauss Surgical, Inc. Method for estimating a quantity of a blood component in a fluid canister
JP6704910B2 (ja) * 2014-10-27 2020-06-03 ムン キ イ, 映像処理装置
US20160379031A1 (en) * 2015-06-23 2016-12-29 Konica Minolta Laboratory U.S.A., Inc. High capacity 2d color barcode design and processing method for camera based applications
US9805296B2 (en) * 2016-02-23 2017-10-31 The Chinese University Of Hong Kong Method and apparatus for decoding or generating multi-layer color QR code, method for recommending setting parameters in generation of multi-layer QR code, and product comprising multi-layer color QR code
JP2020003878A (ja) * 2018-06-25 2020-01-09 株式会社日立製作所 マーカおよび画像処理装置

Also Published As

Publication number Publication date
IL276259B1 (en) 2023-07-01
CN111869193A (zh) 2020-10-30
EP3744080A1 (en) 2020-12-02
JP2021511610A (ja) 2021-05-06
MX2020007865A (es) 2021-01-08
IL276259B2 (en) 2023-11-01
BR112020015129A2 (pt) 2021-01-05
KR20200124676A (ko) 2020-11-03
US20210042487A1 (en) 2021-02-11
JP7267629B2 (ja) 2023-05-02
CA3089330A1 (en) 2019-08-01
IL276259A (en) 2020-09-30
EP3744080B1 (en) 2023-06-07
RU2020128285A (ru) 2022-02-28
US11308300B2 (en) 2022-04-19
EP3744080C0 (en) 2023-06-07
WO2019145390A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
ES2953913T3 (es) Corrección de color
US11455482B2 (en) Systems and methods for decoding two-dimensional matrix symbols with incomplete or absent fixed patterns
US8763917B2 (en) Machine-readable symbols
US9711113B2 (en) Information code, information code producing method, information code reader, and system which uses information code
ES2734111T3 (es) Métodos y sistemas para generar una huella digital para la verificación de un objeto de referencia
JP6860355B2 (ja) 改善されたマトリックス記号エラー修正方法
US20160381265A1 (en) Cassette attachment device for detecting intensity of test strip cassette
US20210097321A1 (en) Dual-pattern optical 3d dimensioning
US9547785B2 (en) Barcode scanner and operational method of the same
JP6475055B2 (ja) 検出装置、検出方法、及び、プログラム
ES2817652B2 (es) Codigo visual, procedimiento para generar un codigo visual y procedimiento para decodificar un codigo visual
US20230003649A1 (en) Testing of luminescence imaging apparatus with automatic detection of a testing device
EP3232367B1 (en) Imaging barcode reader with color separated aimer and illuminator
US20210360765A1 (en) Identification of lighting fixtures for indoor positioning using color band code
JP7347188B2 (ja) 読取装置
JP2017188022A (ja) 画像処理装置、画像処理方法及びプログラム
JP4238796B2 (ja) 光学的情報読取方法
JP2007293798A (ja) バーコード読取方法及び装置