PT2898449T - Resumo - Google Patents

Resumo Download PDF

Info

Publication number
PT2898449T
PT2898449T PT137708616T PT13770861T PT2898449T PT 2898449 T PT2898449 T PT 2898449T PT 137708616 T PT137708616 T PT 137708616T PT 13770861 T PT13770861 T PT 13770861T PT 2898449 T PT2898449 T PT 2898449T
Authority
PT
Portugal
Prior art keywords
substantially circular
region
circular region
circular
crown
Prior art date
Application number
PT137708616T
Other languages
English (en)
Inventor
Salvi Guido
Carignano Andrea
Scaccabarozzi Silvano
Visconti Davide
Original Assignee
Biomerieux Sa
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 Biomerieux Sa filed Critical Biomerieux Sa
Publication of PT2898449T publication Critical patent/PT2898449T/pt

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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • 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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
    • 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/14172D bar codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Description

Descrição Método e sistema para detetar código de barras 2d numa etiqueta circular
Campo de tecnologia A presente invenção refere-se a um método e a um sistema para leitura de códigos de barras. Em particular, a presente invenção refere-se a um método e sistema para localizar um código de barras (por exemplo, um código de barras 2D) colocado numa região circular, particularmente numa etiqueta circular.
Antecedentes 0 problema da varredura de códigos de barras pode ser aplicado a uma grande variedade de contextos de aplicação, na presente aplicação, sem perda de generalidade, abordamos concretamente um exemplo especifico na engenharia de um leitor de código de barras num sistema eletromecânico para análises biológicas. Em particular, o sistema de leitura de códigos de barras foi implementado no The Vitek
ImmunoDiagnostic Assay System fabricado e distribuído por bioMérieux também conhecido como VIDAS® ou VIDAS® 3 na sua versão mais recente. É um imunoanalisador multiparamétrico automatizado compacto que utiliza tiras de reagentes descartáveis predispensados e recipientes de fase sólida especialmente revestidos (SPR®). 0 VIDAS® 3 pode pipetar diretamente do tubo de amostra primário, misturar, incubar, controlar e analisar amostras. 0 VIDAS® 3 tem quatro seções independentes, onde cada seção pode funcionar até 3 amostras. Recursos adicionais permitem que o VIDAS® 3 possa realizar o manuseamento das amostras dos tubos primários automaticamente. 0 operador introduz os tubos centrifugados, não recortados, SPR® e tiras no instrumento. Todas as restantes operações (leitura de código de barras dos tubos primários e aspiração da amostra dos tubos primários) são manuseadas automaticamente pelo sistema. 0 processamento de tiras de reagentes VIDAS® 3, algoritmos, análise e componentes do kit utilizados (tiras, SPR®, etc.) são todos idênticos aos atuais VIDAS® e mini VIDAS®. Assim como o VIDAS® e o mini VIDAS®, o VIDAS®3 oferecerão testes rotineiros de lotes ou de acesso aleatório (misto) para sorologia, imunoquímica, deteção de antígenos e imunohemostasia. Os métodos imunológicos são EIA indireta, imunocaptura, sanduíche ou competição, todos envolvendo um conjugado usando a fosfatase alcalina. Tal como o VIDAS® e o mini VIDAS®, o VIDAS® 3 utiliza protocolos de instrumentos tal como definidos para cada produto de ensaio. Esses protocolos são automaticamente selecionados com base no conhecimento do computador através de informações codificadas por barras na embalagem do produto. 0 utilizador confirma a seleção do ensaio através dos menus do utilizador. Os resultados dos testes são transmitidos para o computador a ser analisado e impresso. 0 sistema é capaz de executar simultaneamente múltiplas análises, que compreendem sequências de ações realizadas na amostra por componentes mecânicos partilhados; a duração máxima de cada análise ilimitada por restrições biológicas, mas os tempos de espera entre as ações subsequentes são permitidos variar num intervalo não-determinação. Cada tipa de análise biológica é composta por uma fase de pré-tratamento e um protocolo analítico. No início da análise, um tubo de ensaio cónico identificado unicamente por um código de barras contém a amostra, outros tubos dispostos como uma tira de recipientes múltiplos contêm fluidos de diluição e de incubação. Durante a fase de pré-tratamento, uma pipeta automática despeja repetidamente a amostra entre os vários tubos; cada ação pipetada dura por uma quantidade determinada de tempo. São permitidos tempos de espera entre ações sucessivas, mas estão limitados a variar entre valores minimos e máximos determinados por periodos de incubação/reação e propriedades de deterioração da amostra. Após a conclusão da fase de pré-tratamento, o protocolo analítico segue uma sequência fixa de passos durante os quais a amostra é combinada com reagentes e medições múltiplas são tomadas por uma cabeça de leitura.
Também neste caso, as ações de cabeça de leitura são deterministicas e intercaladas com tempos de espera (ver Fig. 1). Para exploração de componentes eletromecânicos, múltiplas análises, também de tipos diferentes, são realizadas simultaneamente.
Para isso, o sistema compõe várias seções, uma para cada análise. Cada secção é por sua vez dividida em slots, transportando amostras diferentes que podem ser sujeitas a diferentes pré-tratamentos e podem operar em amostras de diferentes sujeitos.
No entanto, uma vez que a cabeça de leitura é projetada para tomar medidas numa seção inteira de uma vez, todos os slots na mesma seção são obrigados a executar o mesmo protocolo analítico (ver Fig. 2). 0 pipetador e o cabeçote de leitura são compartilhados entre diferentes slots e seções e não podem ser usados simultaneamente por duas análises diferentes.
Em tais análises biológicas, é naturalmente essencial que o cone direito coincida com a tira direita. A inserção dos cones e as tiras na máquina é normalmente feita manualmente por um operador. A disposição com várias secções e ranhuras torna ainda mais fácil cometer um erro na posição do par de cone/tira. Vários métodos de enfatizar a correspondência entre os dois componentes correspondentes foram colocados em prática (por exemplo, a mesma cor no cone e na tira) , de modo a facilitar a operação pelo operador humano. No entanto, para se certificar de que as análises são realizadas corretamente, a máquina deve ser melhor fornecida com um mecanismo de reconhecimento automático para evitar qualquer erro humano. A leitura do código de barras parece ser uma das possíveis soluções, com um código de barras (por exemplo, um código de barras 2D) no tubo em forma de cone e um código de barras na faixa: no entanto, a forma particular do cone coloca alguns problemas na localização automática e leitura de o código de barras na etiqueta circular no topo do cone (ver figura 3) . Métodos conhecidos de reconhecimento de imagem e software são bastante caros em termos de consumo de recursos e tempo. Uma dificuldade adicional do presente sistema é a possivel inclinação do leitor de código de barras em relação ao rótulo circular que transporta o código, devido ao posicionamento relativo dos vários componentes da máquina que não permite um alinhamento reto entre o leitor e o alvo. Método e sistemas da técnica anterior, e.g. Como os revelados em EP1143372 ou US2006/0269136 não ajudam na identificação da posição de um código de barras 2D num rótulo em forma redonda de uma maneira rápida e fiável. Uma solução de consumo de recursos de hardware simplificada, mais rápida e menos seria, portanto, altamente desejável.
Objetos da divulgação É um objetivo da presente divulgação superar pelo menos alguns dos problemas associados à técnica anterior.
Um outro objetivo da presente invenção é proporcionar um método para identificar a posição de uma imagem de código de barras 2D num rótulo substancialmente circular de uma maneira rápida e fiável.
Outro objetivo da invenção é proporcionar um aparelho eletromecânico para realizar análises biológicas tendo um leitor de código de barras capaz de localizar e ler uma imagem de código de barras 2D num rótulo substancialmente circular.
Sumário A presente divulgação proporciona um método de calendarização conforme estabelecido nas reivindicações anexas. De acordo com uma primeira concretização, a presente divulgação proporciona um método para determinar, com um sistema de processamento de imagem digital, a posição de uma matriz de dados retangular dentro de uma região substancialmente circular, sendo a matriz de dados posicionada dentro de uma porção predeterminada de uma região de coroa circular, sendo a região circular definida por um circulo interno e por um circulo exterior que tem o centro substancialmente coincidente com o centro da região substancialmente circular, sendo a porção predeterminada da região circular identificada por pelo menos uma marca visual, etapas de: aquisição de uma representação digital da região substancialmente circular; determinar o centro da região substancialmente circular; construir uma área de anel de deteção incluindo os circulos interno e externo; varrer radialmente a área de anel de deteção para identificar a pelo menos uma marca visual indicativa da posição de inicio da porção predeterminada da região de coroa circular; partindo da posição inicial, varrendo a área do anel de deteção para determinar a posição da borda da matriz de dados.
Numa forma de realização preferida da presente descrição, a porção predeterminada de uma região de coroa circular está incluida num segmento circular, sendo o contraste minimo entre o segmento circular e o resto da região substancialmente circular excedendo um limiar predeterminado e pelo menos uma marca visual é representada por uma posição em que a região circular da coroa intersecta o acorde que define o segmento circular. Ainda numa forma de realização preferida, a matriz de dados representa um código de barras 2D e o fundo do segmento circular onde a matriz de dados está posicionada é preto. Vantajosamente a área coberta pelo segmento circular é no máximo 90% da área total da superfície substancialmente circular, preferencialmente no máximo 70% e mais preferencialmente no máximo 50%. De um modo mais preferido, a área coberta pelo segmento circular é inferior a 50% da área total da região substancialmente circular. Uma das vantagens de ter um segmento circular parcial em comparação com a região substancialmente circular é que informações diferentes da informação de código de barras podem ser incluídas na área diferente da região circular. Outra vantagem reside no facto de um segmento circular menor facilitar a sua leitura e assim encontrar o código de barras 2D.
Além disso, numa realização preferida, a aquisição de uma representação digital inclui a captura, por meio de um sistema de processamento de imagem digital, de uma imagem retangular preta e branca que inclui a região substancialmente circular, a imagem retangular incluindo uma matriz de pixels cada pixel tendo um nível de cinza e armazenando a representação dentro do processamento de imagem digital. 0 passo de determinar o centro da região substancialmente circular inclui: identificar o bordo da região substancialmente circular dentro da imagem retangular; determinando o centro da região substancialmente circular em relação ao bordo identificado. Numa realização do presente invento, a identificação do bordo da região substancialmente circular inclui: a exploração horizontal da imagem retangular para identificar um ponto de transição em que a diferença entre o nível de cinza dos pixels vizinhos está a exceder um valor predeterminado, sendo o ponto de transição horizontal indicativo de um bordo lateral da região substancialmente circular; verificando verticalmente a imagem retangular para identificar um ponto de transição em que a diferença entre o nível de cinza dos pixels vizinhos está a exceder um valor predeterminado, sendo o ponto de transição vertical indicativo de um bordo vertical da região substancialmente circular.
Vantajosamente, o passo de construção de uma área de anel de deteção inclui a determinação de uma coroa circular incluída entre um raio interno e um raio externo em relação ao centro da região substancialmente circular.
De acordo com outro aspeto da presente descrição, é proporcionado um programa de computador, incluindo meios de código de programa que, quando executados num computador, implementa o método acima.
De acordo com outra forma de realização, proporcionamos um sistema para determinar, com um sistema de processamento de imagem digital, a posição de uma matriz de dados retangular dentro de uma região substancialmente circular, sendo a matriz de dados posicionada dentro de uma região de coroa circular predeterminada e dentro de um segmento circular substancialmente circular, tendo o segmento circular uma tonalidade minima de fundo superior a um limiar predeterminado, sendo a região circular definida por um circulo interior e por um circulo exterior com o centro substancialmente coincidente com o centro da região substancialmente circular, incluindo o sistema de um ou mais componentes adaptados para executar os passos do método acima.
De acordo com uma outra forma de realização da presente descrição, proporcionamos um sistema de leitura de códigos de barras que inclui o sistema acima para determinar a posição de uma matriz de dados retangular dentro de uma região substancialmente circular. É também fornecido um sistema eletromecânico para a realização de análises biológicas, incluindo o sistema de leitura de códigos de barras. A presente invenção oferece uma série de benefícios. Uma das vantagens de uma realização preferida da presente invenção é que um software de reconhecimento de imagens simplificado e de baixo consumo de recursos resolve a necessidade de identificar, localizar e ler um código de barras numa etiqueta em forma circular.
Breve descrição dos Desenhos
Será agora feita referência, a titulo de exemplo, aos desenhos anexos, nos quais: A Figura 1 é uma representação esquemática da arquitetura fisica de componentes de sistema executando uma única análise num aparelho eletromecânico para realizar testes biológicos; A Figura 2 é uma representação esquemática da arquitetura fisica do sistema global que compõe múltiplas análises em ranhuras e secções num aparelho eletromecânico para realização de testes biológicos de acordo com uma forma de realização da presente invenção; A Figura 3 é uma representação esquemática do posicionamento relativo do dispositivo de deteção e do alvo, que está inclinado em relação ao eixo perpendicular que passa pelo centro do dispositivo de deteção;
As Figuras 4 a 18 mostram várias fases e aspetos do método de acordo com uma forma de realização preferida do presente invenção; A Figura 19 mostra um diagrama de fluxo dos passos do método de acordo com uma forma de realização preferida da presente invenção.
Descrição detalhada de realizações preferidas A disposição de um dispositivo de deteção (por exemplo, uma câmara que inclui um sensor 101 e uma lente 103) estando inclinada com um ângulo 5(por exemplo, 35°) em relação ao alvo 105 é representada na Figura 3. O alvo, no presente exemplo, é uma etiqueta circular que transporta um código de barras que é aplicado no topo de um tubo em forma de cone. Este tubo deve coincidir com uma tira correspondente como mencionado acima. A tarefa a ser realizada pelo sistema que implementa uma forma de realização da presente descrição é adquirir a imagem representada no rótulo no alvo 105, localizar o código de barras (por exemplo, um 2D Código de barras) e ler as informações contidas no código de barras. Tais informações podem então ser utilizadas para verificar a correspondência correta entre o cone e a tira. Mais geralmente, o problema abordado pela presente descrição é o de ler um código de barras num rótulo circular, o qual pode eventualmente encontrar-se num plano inclinado em relação à linha perpendicular a partir do dispositivo de deteção e do alvo. Um código de barras 2D é normalmente representado com um DataMatrix, isto é, uma matriz bidimensional constituída por "células" pretas e brancas ou módulos dispostos num padrão quadrado ou retangular. As informações a serem codificadas podem ser texto ou dados brutos. O dispositivo de deteção é controlado por um computador ou microprocessador com um código embutido no firmware; por exemplo, no exemplo prático aqui descrito, o microprocessador é um processador baseado num núcleo ARM9, executando até 400 Mhz, principalmente destinado a aplicações multimédia e de baixa potência. Este processador é necessário para fornecer capacidade suficiente para adquirir a imagem e descodificar o código DataMatrix (DMTX). O microprocessador está equipado com uma memória FLASH, RAM e EEPROM: a memória FLASH é usada para armazenar a aplicação e o código FW; A memória RAM é utilizada para executar código e armazenar informações de imagem e informações temporárias durante o processo de descodificação DataMatrix. A memória EEPROM é usada para armazenar dados relevantes, como parâmetros da placa da câmara ou dados de calibração. Tal computador executa um software que processa a imagem capturada pelo dispositivo de deteção 101 que, numa realização preferida da presente descrição, está montado numa placa. Numa forma de realização preferida da presente descrição, o software inclui um algoritmo de Descodificação de Matriz de Dados (DDA) que é capaz de Descodificar uma Matriz de Dados (DMTX) de um tamanho fixo (por exemplo, densidade de código de 8x18 quadrados com qualquer tamanho de elemento único de 5mils 0,127 mm) com ECC200. ECC200 é uma versão recente do Data Matrix e suporta algoritmos avançados de verificação e correção de erros de codificação ECC200 permite a reconstrução de rotina de toda a sequência de dados codificados quando o símbolo tem sustentado até 30% de dano, assumindo que a matriz ainda pode ser localizada com precisão. A distância de trabalho ideal, entre o dispositivo de deteção e o plano alvo está compreendido entre 106 mm e 98 mm, e.g. 102,5 mm como no presente exemplo. Numa forma de realização da presente descrição, a placa com o dispositivo de deteção 101 está posicionada com um ângulo de 35 graus em relação ao eixo perpendicular do plano alvo (e o rótulo circular).
Numa forma de realização da presente descrição, o dispositivo de deteção inclui uma câmara (por exemplo, OmniVision OV9121 B&W com um sensor CMOS 1280x1024 (SXGA) equipado com uma lente, por exemplo, uma lente padrão de 16 mm. Sobre a lente existe uma abertura mecânica e fixa que permite uma maior profundidade (DOF) é a distância entre os objetos mais próximos e mais distantes de uma cena que aparecem acertadamente afiados numa imagem. Mas uma lente pode concentrar-se precisamente em apenas uma distância de cada vez, a diminuição da nitidez é gradual em cada lado da distância focada, de modo que dentro do DOF, a falta de nitidez é impercetível em condições normais de visualização. Nas figuras a seguir podemos ver a abertura em ação. A Figura 4A é adquirida sem uma abertura mecânica. O foco diminui saindo do centro da imagem: DMTX é desfocada. A Figura 4B é adquirida com uma abertura mecânica e toda a etiqueta circular (também referida como DOT) tem um foco correto. A iluminação é também um aspeto critico para a criação de uma inspeção visual de boa qualidade, robusta e atempada: o sistema de acordo com uma realização preferida da presente descrição monta seis LEDs vermelhos em torno da lente do corpo da câmara para iluminar o ponto.
Numa realização preferida da presente descrição, o software de reconhecimento da imagem irá comprimir uma porção de imagem para obter uma imagem de resultado de 512 x 512 pixels. Para uma análise correta, o DOT deve estar completamente interno da área capturada pela câmara. A Figura 5A representa um exemplo em que o DOT é deslocado para a esquerda em relação ao centro esperado, enquanto a Figura 5B mostra um exemplo em que o ponto está razoavelmente centrado. 0 processamento de imagem começa com a definição de um ponteiro no primeiro pixel da imagem que: corresponde ao primeiro bite da matriz (ou matriz) e é o canto superior esquerdo da imagem. Não há nenhuma cópia da imagem porque custa muitos milissegundos, aproximadamente 200 msec, assim que o sistema usa diretamente um amortecedor enchido pelo firmware principal. A Figura 6 mostra a direção convencional dos eixos XY numa imagem. O sistema tem uma gama de flexibilidade para decodificar corretamente o DMTX. Esta faixa pode ser calculada aproximadamente variando a distância entre a câmara e o DOT. Na realização preferida do presente exemplo, o DOT é normalmente legivel à distância nominal (102,5 mm) +3 mm/- 4 mm com um ângulo de leitura de cerca de 35°. O sistema pode ler corretamente DMTX em distâncias maiores ou menores, mas, nesses casos, outras variáveis (posição, rotação, distorção, desfocagem) podem afetar o resultado final. Na inspeção da visão também o fundo é um aspeto critico: a cena final deve ser semelhante à obtida durante um teste de configuração.
Exemplo de condições de teste de ajuste (utilizado na presente concretização) é o seguinte: -Luz não superior a 150 lux; -Fundo fora do alvo (DOT) tão escuro e uniforme quanto possivel. De acordo com uma forma de realização preferida, o fundo pode ser considerado uniforme se não houver zonas onde o nivel de cinzento detetado (gl) entre dois pixels vizinhos exceda um limiar predeterminado, e. lOgl no caso de uma borda ascendente ou descendente e 5gl no caso de picos. Os termos "borda ascendente/descendente", "pico" e "deteção de pico" referem-se ao seu significado tal como utilizado no campo de processamento de imagem; -A imagem do alvo (DOT) deve ser preferencialmente substancialmente no meio da janela com tamanho 512x512 pixel; -No entanto para o algoritmo para trabalhar é suficiente que toda a imagem está dentro da borda da janela e, de preferência, a borda do DOT deve ser de cerca de 10 pixel a partir da borda da janela.
Se ele muda drasticamente, a funcionalidade do sistema pode ser comprometida, especialmente na análise de "ponto em falta". Para encontrar um "DOT ausente", o sistema implementa uma função de histograma cumulativo que coleta todos os valores de pixel agrupados por 16 seções. -Seção 0: de 0 a 15 valores de nivel de cinza. -Seção 1: de 16 a 32 valores de nivel de cinza. -Seção 2: de 33 a 48 valores de nivel de cinza, e assim por diante até -Seção 16: de 241 a 256 valores de nivel de cinza.
Depois de concluído o histograma, para verificar a presença de DOT basta comparar o último valor com um limiar. As Figuras 7A e 7B são representação gráfica do histograma. A Figura 7A mostra um exemplo de DOT ausente, enquanto a Figura 7B mostra um exemplo de presença de DOT.
Para encontrar o DOT na imagem e na posição do DMTX (que está dentro do DOT) o sistema implementa uma série de funções que:
Em ordem a encontrar a borda DOT e o centro do DOT; Aplicar à imagem um conjunto de máscara em forma de anel (alinhado respeitando o centro do DOT);
Procure o DMTX dentro do anel selecionado.
Uma função chamada Search Center Ring procura e localiza o centro do DOT através de 5 perfis à esquerda, 5 perfis certos e uma diagonal inferior. O perfil é geralmente usado para fazer uma média de um número especifico de pixels e esta é uma maneira de pegar uma borda ascendente ou descendente melhor. -Os primeiros 5 perfis horizontais esquerdos procuram o lado esquerdo do DOT. -Os segundos 5 perfis horizontais à direita buscam o lado direito do DOT. -A última varredura pesquisa o lado inferior do DOT por meio de 7 perfis radiais que começam a partir da parte inferior da imagem. 1. 0 sistema encontra a margem esquerda de DOT selecionando o melhor perfil de 5, isto é, fazendo a varredura de 5 perfis verticalmente centrados na imagem. Para cada um destes perfis o sistema integra 5 pixels verticais para cada coordenada X, partindo da coordenada x = 10 para o centro da imagem. Os 5 niveis verticais de cinza (gl) são armazenados numa matriz a ser analisada, não comparando os seus valores com um limiar global fixo, mas de forma relativa. A análise relativa é feita comparando a diferença entre um valor I e um valor (I + 6) (isto é deslocado de 5 posições) com um valor absoluto de referência predeterminado. Se a diferença exceder tal valor de referência (por exemplo, lOgl), assumimos que há uma aresta e, portanto, o limite esquerdo do DOT. De tal forma, consideramos apenas os bordos reais com uma profundidade minima (por exemplo, a borda ascendente quando a transição passa de preto para branco ou borda descendente no caso oposto), excluindo bordos que são demasiado finos. Se as arestas forem mais estreitas do que um limiar predeterminado, as transições positivas (ou negativas) são imediatamente seguidas por uma transição de sinal oposto: chamamos estes "picos" e o valor absoluto de referência para deteção é menor (por exemplo 5) do que para as bordas.
Assim, de acordo com o presente exemplo, o sistema detetaria um flanco ascendente quando se verificasse a seguinte relação: gl (x + 6) -gl (x) <-10 (de forma semelhante uma borda descendente seria identificada se gl (x + 6) -gl (x) <-10) .
Quando um pico é encontrado ambas as relações seguintes são respeitadas: gl(x + 6) -gl (x) >5 e gl(x+6)-gl(x+12)<-5
Dos 5 perfis horizontais o sistema armazena uma memória as coordenadas x da borda detetada. A coordenada x mais à esquerda é tomada como a borda esquerda do DOT. 2. A margem direita do DOT é determinada seguindo um algoritmo semelhante ao da margem esquerda. Uma vez que determinamos a borda esquerda e direita, podemos derivar o diâmetro do DOT e este valor será usado nas seguintes etapas. 3. O DDA localiza a borda inferior do DOT através de 7 varreduras de borda. Através da análise do lado esquerdo e do lado direito, o DDA conhece o centro horizontal do DOT. Assim, a fim de encontrar a coordenada vertical do centro de DOT, ele varre a imagem de y=512 para um nivel predeterminado da imagem, que na presente implementação é meia altura =258, mas outros niveis poderiam ser usados em vez disso, por exemplo três quartos de altura: (512/4) * 3 =384 pixels. Finalmente, o DDA procura um flanco ascendente com valor acima de 10. Este algoritmo segue basicamente os mesmos passos dos métodos descritos para bordas esquerda e direita usando as mesmas funções de deteção de borda ascendente/descendente (e.g. excedendo o limiar predeterminado de lOgl) e deteção de picos e.g. excedendo o limiar predeterminado de 5gl) . No final da verificação, o sistema escolhe a coordenada Y mais baixa entre os 7 perfis. A Figura 8 mostra 10 perfis horizontais (perfis esquerdo e direito representados em cinza) e os 7 exames de fundo (representados com linhas brancas).
Com a margem esquerda, direita e inferior o sistema agora pode calcular as coordenadas XY do centro do DOT e o seu raio aproximado. O próximo passo permite determinar todos os ponteiros circulares (endereços) graças ao seno e cosseno pré-calculados para posterior análise com o raio encontrado. Esta etapa é executada por uma função Calculate Ring Points que pré-calcula todos os ponteiros de -20° a 360+ 20°. Esta angulação extra (+/-20°) permite intercetar o DMTX quando está fechado a 0° ou 360°. A precalculação descrita acima é um truque complexo, mas uma forma eficiente de poupar tempo durante o processamento de imagem subsequente. O sistema, para encontrar a posição de DMTX, implementa uma função denominada análise de perfil de anel que, a partir de uma posição predeterminada da coroa circular (por exemplo, posição EST como referência a 0°) e seguindo uma rotação no sentido dos ponteiros do relógio, varredura ao longo de todo o perfil da coroa circular usando pontos previamente calculados.
Como veremos melhor com referência à Figura 10c (destacada por duas linhas verticais) , a posição de DMTX dentro da coroa é sempre caracterizada por uma área com várias alterações de valores gl delimitados por duas áreas com valor gl muito baixo devido à área negra em que o DMTX está posicionado (impresso). O sistema, detetando estas áreas dentro da zona preta, é capaz de intercetar o DTMX.
Para realizar alguns ajustes da estimativa da posição DOT no eixo Y (devido, por exemplo, à presença de ruídos de imagem) existe um laço que permite seis varreduras com diferentes anéis circulares (ou coroas):
-Coroa 1: é deslocada no eixo Y de Y =(centro - 20 pixels); -Coroa 2: é deslocada no eixo Y de Y = (centro -lOpixels) ; -Coroa 3: centrada no eixo Y -Coroa 4: é deslocada no eixo Y de Y = (centro + lOpixels); -Coroa 5: é deslocada no eixo Y de Y = (centro + 20pixels); -Coroa 6: é deslocada no eixo Y de Y = (centro + 30 pixels);
Em outras palavras, a primeira coroa é posicionada em DOT na coordenada Y determinada (CenterY) menos 20 pixels, i.e. Y = CenterY-20; O segundo é posicionado em Y = CenterY-10; O terceiro em Y = CenterY; O quarto em Y = CenterY + 10; O quinto em Y = CenterY + 20 e o sexto em Y = CenterY + 30.
As Figuras 9A-9F mostram exemplos de coroas, enquanto as Figuras 10A-10F representam graficamente os seus perfis radiais correspondentes: -A coroa 1, mostrada na Figura 9A, é representada como perfil radial na Figura 10A combinada com a Coroa 3 (Fig. 9C). Coroa 1 é mostrada em conjunto com a Coroa 3 porque a Coroa 3 foi determinada pelo algoritmo como a melhor escolha, isto é, a coroa onde mais provavelmente a Matriz de Dados está incluída. -A coroa 2, ilustrada na figura 9B, é representada como perfil radial na figura 10B combinada com a coroa 3. A coroa 2 é mostrada juntamente com a coroa 3 que foi determinada pelo algoritmo como a melhor escolha, isto é, a coroa onde mais provavelmente a matriz de dados está incluído . -A melhor coroa (neste caso a coroa 3) , tal como selecionada pelo algoritmo, é representada na figura 10C e realçada por duas linhas verticais.
-A coroa 4, representada na figura 9D, é representada como perfil radial na figura 10D combinada com a coroa 3. A coroa 4 é mostrada juntamente com a coroa 3 que foi determinada pelo algoritmo como a melhor escolha, isto é, a coroa onde mais provavelmente a matriz de dados está incluído. -A coroa 5, mostrada na Figura 9E, é representada como
perfil radial na Figura 10E combinada com a Coroa 3. A
Coroa 5 é mostrada juntamente com a Coroa 3 que foi determinada pelo algoritmo como a melhor escolha, isto é, a coroa onde mais provavelmente a Matriz de Dados está incluído. -A coroa 6, mostrada na Figura 9F, é representada como
perfil radial na Figura 10F combinada com a Coroa 3. A
Coroa 6 é mostrada juntamente com a Coroa 3 que foi determinada pelo algoritmo como a melhor escolha, isto é, a coroa onde mais provavelmente a Matriz de Dados está incluído. 0 sistema, a fim de encontrar a posição de DMTX implementa uma função chamada RingProfileAnalyze que analisa os dados coletados pela função RingProfileScan em todas as seis coroas. Com estas seis varreduras o sistema pode escolher a melhor coroa que está mais próxima do DataMatrix. Para selecionar a melhor coroa o algoritmo analisa os dados calculando: -Acumulador de nível de cinzento do comprimento de base esquerdo 20 pixels (BaseSx) -Acumulador de nível de cinzento do comprimento de base direito 20 pixels (BaseDx) -Acumulador de nível de cinza do comprimento DMTX 46 pixels (BaseDM)
Para todos os graus da varredura radial o algoritmo verifica estas condições: 1) os acumuladores BaseSx + BaseDx devem ser os mais pequenos para todos os 360 graus; 2) o acumulador BaseDM deve ser superior a um limiar; 3) a diferença entre BaseSx e BaseDx deve ser inferior a um limiar predeterminado, e. 500; 4) o meio BaseDM do acumulador + 0,25% deve ser maior que um valor de referência predeterminado RV que é O valor mais baixo na zona preta que rodeia o DTMX detetado durante cada perfil de varredura de coroa;
5) o BaseSx e o BaseDx devem ser inferiores ao dobro do valor de referência RV
Todas as condições acima permitem determinar o melhor ponto correspondente à coordenada angular onde podemos encontrar a Matriz de Dados.
Na Figura 10C podemos ver como a Data Matrix é colocada entre duas zonas escuras (zona silenciosa), tem uma altura específica que corresponde ao contraste de micro pontos brancos, tem uma largura específica (cerca de 46 pontos com 20 pontos escuros à direita E à esquerda). Quando a matriz de dados é detetada dentro do gráfico duas linhas verticais são desenhadas em correspondência com o melhor ponto.
Hough Transform A finalidade de hough transform é realizar agrupamentos de pontos de aresta em candidatos a objetos executando um procedimento de votação explicito. Este procedimento de votação é realizado num espaço de parâmetros, a partir do qual os candidatos objeto são obtidos como máximos locais em um espaço chamado acumulador.
Para um ponto arbitrário no plano de imagem com coordenadas, por exemplo, (x0, yo) , as linhas que passam por ela são:
onde r (a distância entre a linha e a origem) é determinada por Θ. Isso corresponde a uma curva sinusoidal no plano (r,0), que é exclusivo para esse ponto, como representado na Figura 11.
Regressão linear A função de regressão linear, também chamada LineFit, calcula a linha reta que passa mais perto de todos os pontos de entrada. A Figura 12 mostra um exemplo de algoritmo de ajuste de linha. Os pontos visualizados não pertencem à mesma linha reta, mas o modelo de regressão linear usa a abordagem dos minimos quadrados para calcular a melhor linha.
Encontre o inicio/fim da Largura da Linha de Base (BLW) e da Altura da Linha de Base (BLH)
Numa realização preferida da presente descrição, o sistema, para aumentar a precisão da investigação de DMTX (por exemplo, o representado na Figura 13) , implementa duas funções chamadas SearchStartEndBLW e SearchStartEndBLH que encontram o inicio e o fim de BLW e BLH. BaseLineWidth (BLW) e BaseLineHeight (BLH) são os dois segmentos ortogonais que delimitam DMTX retangular e eles são normalmente usados para identificar a orientação de DTMX. Para seguir com sucesso as linhas de base há quatro testes. 0 primeiro teste, aceita e analisa o BLW basicamente horizontal. Dentro deste teste, há uma outra verificação para encontrar a posição de DMTX. 0 quadrante inferior (0° a 180°) ou o quadrante superior (180° a 360°) . O segundo teste aceita e analisa o BLW basicamente vertical. Dentro deste teste, há uma outra verificação para encontrar a posição de DMTX. O quadrante esquerdo (90° a 270°) ou o quadrante direito (270° a 90°).
Esta função começa com uma digitalização a partir do centro do BLW e vai para o lado externo para encontrar onde o BLW começa ou termina.
Para reforçar a pesquisa da borda descendente (do branco ao preto) o algoritmo compara e soma um par de três pixéis.
Depois de ter encontrado a melhor borda de queda, ele tenta novamente com a melhor precisão através da função de subpixel sempre seguindo a direção BLW. A Figura 14 mostra um exemplo para ilustrar o conceito acima.
No primeiro passo XO o algoritmo verifica se (gll-gl2)> limiar onde: QÍi “ (Χι$ϊ> + Xt>y* * 2¾¾) i *· X-jYs) “ (200 * 205 * 203} + (205 + 20? * 204}
Qh “ (X2V<) f +:·Χ^} “jllíCt i 1:8B-f ’101;} f (1:S(| f 1 ?S f i?S)
Na segunda etapa Xi o algoritmo verifica sempre gli e gÍ2, mas começa a partir de Xi, o terceiro passo começa a partir de X2, e assim por diante...
Para a linha de base a altura da SearchStartEndBLW busca o fim da BLH e encontra o inicio a partir do meio dos pontos encontrados pela função anterior SearchStartEndBLW. Depois de ter encontrado os pontos no BLH, o algoritmo refina a deteção de borda com uma precisão de subpixel (veja a Figura 15).
Para reforçar a pesquisa da borda descendente (de branco para preto) o algoritmo compara e soma um par de três Pixels .
Depois de ter encontrado a melhor borda de queda, ele tenta novamente com mais precisão através da função subpixel, sempre seguindo a direção BLH.
Encontre o relógio (padrão de tempo)
Numa realização preferida da presente descrição, o sistema, para aumentar a interpretação correta do fim de BLW, implementa uma função chamada SearchParallelBLH que procura a linha paralela ao BLH porque está truncada ou porque não há suficiente branco para preto em relação à zona escura que rodeia o DTMX.
As imagens borradas mostradas nas Figuras 16 e 17 representam dois exemplos de uma má interpretação. A extremidade de BLW (interpretada pelo DDA) é destacada com uma linha quebrada.
Para superar este problema existe uma função implementada chamada SearchStartEndBLH que procura a linha paralela para o BLH. Este procedimento executa um perfil vertical para localizar corretamente a extremidade do DMTX destacado com uma pequena linha na imagem acima. Assim, depois de ter encontrado o fim do BLW a função de pesquisa paralelo BLH verifica e procura o final de DMTX. As imagens mostradas nas Figuras 18A, 18B e 18C representam o perfil vertical em curso. A Figura 18C mostra com uma grande cruz cinzenta a extremidade correta de DMTX que é a mais direita em comparação com a pequena cruz cinzenta (Figura 18A, Figura 18B) . 0 método descrito acima também está representado no diagrama mostrado na figura 19. Vamos supor, para o exemplo seguinte, que o DataMatrix (por exemplo, um código de barras 2-D) a ser identificado (e sucessivamente lido e verificado) está posicionado dentro de uma coroa circular e um segmento circular que tem um fundo escuro (ou seja, preto). Tecnicamente falando isto significa que a escuridão mínima de cada pixel de uma representação digital de tal segmento circular é maior do que um limiar predeterminado (isto é, não precisa ser realmente preto, o sistema considerará um fundo "preto" desde que todos os pixels sejam mais escuros) . Os especialistas na técnica compreenderão facilmente que o método de acordo com a presente invenção poderia funcionar igualmente se o fundo fosse "branco", isto é, se a escuridão máxima de todos os pixels de uma representação digital desse segmento circular for inferior a um limiar predeterminado (ou seja, ele não precisa ser realmente branco, o sistema irá considerá-lo um fundo "branco", desde que todos os pixels sejam mais leves do que esse limiar). Mas geralmente, o contraste minimo entre o segmento circular e o resto da região substancialmente circular deve exceder um limiar predeterminado. Outras formas de realização alternativas são possíveis, e.g. não há necessidade de que o fundo "preto" cubra todo o segmento circular: poderia ser, por exemplo, um retângulo em torno da matriz de dados. Ainda mais geralmente é suficiente que a porção da coroa circular que contém a matriz de dados possa ser identificada pelo sistema de processamento da imagem: como exemplo, pode ser colocada uma marca visual para indicar onde a porção da coroa circular que contém a matriz de dados começa a ser digitalizada. 0 segmento preto (ou melhor, a interseção da coroa circular com a corda (ou secante) que define o segmento) é uma possivel implementação dessa marcação. 0 método é realizado num sistema de processamento de imagens digitais e tem como objetivo determinar a posição de uma matriz de dados retangular dentro de uma região substancialmente circular (por exemplo de um rótulo circular), sendo a matriz de dados posicionada dentro de uma região de coroa circular predeterminada e dentro de um segmento circular da região substancialmente circular; como mencionado acima, o segmento circular tem uma tonalidade minima de fundo superior a um limiar predeterminado (ou inferior a um limiar predeterminado), sendo a região circular definida por um circulo interno e por um circulo exterior com o centro substancialmente coincidente com ο centro do substancialmente circular. 0 método começa no circulo preto 1901 e depois vai para 1903 onde uma representação digital da região circular no rótulo é adquirida pelo sistema. Obviamente, o rótulo não precisa necessariamente ser circular; o método pode funcionar igualmente bem com outras formas, desde que incluida numa região circular com as caracteristicas acima mencionadas. Por outras palavras, basta que a posição da DataMatrix possa ser identificada com referência ao centro de DOT e dentro da coroa circular e do segmento circular como discutido acima. O sistema processa então a imagem e no passo 1905 o método de acordo com uma realização preferida da presente invenção determina o centro de DOT; exemplos e pormenores do modo de determinação desse centro foram discutidos acima e os especialistas na técnica compreenderão facilmente que vários métodos e técnicas do estado da técnica podem ser utilizados e combinados em conjunto para esse fim. Numa realização da presente invenção, a determinação do centro do DOT inclui a identificação do bordo do substancialmente circular com uma exploração horizontal e uma exploração vertical: a exploração horizontal visa identificar um ponto de transição em que a diferença entre o nivel de cinza dos pixels vizinhos é excedendo um valor predeterminado, sendo o ponto de transição horizontal indicativo de um bordo lateral (direito e/ou esquerdo) da região substancialmente circular; a varredura vertical faz o mesmo para a borda vertical (borda superior e/ou inferior).
No passo 1907, é então identificada uma área de anel incluindo o DataMatrix: uma vez que o centro do DOT é determinado, a área do anel incluida dentro de um circulo interior e um exterior pode ser facilmente identificada.
Tal área de anel irá intersectar em dois pontos a extremidade do sector circular "preto" (ou "branco, ver comentários acima): o passo 1909 do método de acordo com uma realização preferida da presente invenção varre a área do anel de forma radial para determinar uma das intersecções, a varredura pode ser realizada no sentido dos ponteiros do relógio ou no sentido anti-horário: no presente exemplo é no sentido dos ponteiros do relógio no passo 1911 é realizado um varrimento radial para o bordo do sector circular para identificar o bordo do DataMatrix, uma vez que a posição do DataMatrix na região circular representada digitalmente foi determinada, a informação transportada pelo DataMatrix pode ser lida e processada com os métodos mais avançados.
Será apreciado que as alterações e modificações podem ser feitas para o acima sem sair do âmbito da divulgação. Naturalmente, para satisfazer requisitos locais e específicos, um especialista na técnica pode aplicar à solução descrita acima muitas modificações e alterações. Particularmente, embora a presente descrição tenha sido descrita com um certo grau de particularidade com referência a sua (s) modalidade (s) preferida (s) , deve ser entendido que são possíveis várias omissões, substituições e alterações na forma e detalhes bem como outras formas de realização; além disso, pretende-se expressamente que elementos específicos descritos em ligação com qualquer forma de realização divulgada da descrição possam ser incorporados em qualquer outra forma de realização como uma questão geral de escolha de conceção.
Por exemplo, considerações semelhantes aplicam-se os componentes com estrutura diferente ou incluem unidades equivalentes. Além disso, deve ser facilmente compreendido pelos especialistas na técnica que a presente descrição pode ser estendida a quaisquer aplicações que necessitem identificar a posição de um DataMatrix numa região circular, desde que o DataMatrix tenha sido posicionado numa área de anel predeterminada a distância predeterminada do centro da região circular) e dentro de um segmento circular. A área do segmento circular, nos exemplos discutidos acima, foi assumida como sendo menor do que o resto da região circular, isto é, a área do segmento é inferior a 50% da área total da região circular.
Com uma tal configuração os desempenhos do sistema são otimizados, no entanto o método do presente invento funcionaria também com um segmento maior, cobrindo mais de metade da área da região circular.
REFERÊNCIAS CITADAS NA DESCRIÇÃO
Esta lista de referências citadas pelo Titular tem como único objectivo ajudar o leitor e não forma parte do documento de patente europeia. Ainda que na sua elaboração se tenha tido o máximo cuidado, não se podem excluir erros ou omissões e a EPO não assume qualquer responsabilidade a este respeito.
Documentos de Patente citados na descrição
EP 1143372 A US 20060269136 A

Claims (16)

  1. Reivindicações
    1. Processo para determinar, com um sistema de processamento de imagem digital, a posição de uma matriz de dados retangular dentro de uma região substancialmente circular, sendo a matriz de dados posicionada dentro de uma porção predeterminada de uma região de coroa circular, sendo a região de coroa circular definida por um circulo interno e por um circulo exterior que tem o centro substancialmente coincidente com o centro da região substancialmente circular, sendo a porção predeterminada da região circular da coroa identificada pelo menos por uma marca visual, incluindo o método e as etapas de: aquisição de uma representação digital da região substancialmente circular (1903); - determinar o centro da região substancialmente circular (1905); - construir uma ideia de anel de deteção (1907) incluindo os circulos interno e externo; varrer radialmente a área de anel de deteção para identificar pelo menos uma marca visual (1909) indicativa da posição de inicio da porção predeterminada da região de coroa circular; - a partir da posição inicial, varrendo a área do anel de deteção para determinar a posição da borda da matriz de dados (1911).
  2. 2. Processo de acordo com a reivindicação 1, caracterizado pelo facto de a porção predeterminada de uma região de coroa circular estar incluida num segmento circular, sendo o contraste minimo entre o segmento circular e o resto da região substancialmente circular excedendo um limiar predeterminado e em que pelo menos uma marca visual é representada por uma posição em que a coroa intersecta o acorde que define o segmento circular.
  3. 3. Processo de acordo com a reivindicação 1, caracterizado por a matriz de dados representar um código de barras 2D.
  4. 4. Processo de acordo com a reivindicação 2 ou 3, caracterizado por a área coberta pelo segmento circular ser inferior a 50% da área total da região substancialmente circular.
  5. 5. Processo de acordo com qualquer uma das reivindicações 2 a 4, caracterizado por o fundo do segmento circular em que a matriz de dados está posicionada ser preto.
  6. 6. Processo de acordo com qualquer uma das reivindicações anteriores, caracterizado por a aquisição de uma representação digital incluir a captura por meio de um sistema de processamento de imagem digital de uma imagem retangular preta e branca que inclui a região substancialmente circular, a imagem retangular incluindo uma matriz de pixels cada pixel tendo um nivel de cinzento e armazenar a representação dentro do processamento de imagem digital.
  7. 7. Processo de acordo com a reivindicação 6, caracterizado por o passo de determinação do centro da região substancialmente circular incluir: identificar o bordo da zona substancialmente circular dentro da imagem retangular; determinação do centro da região substancialmente circular em relação ao bordo identificado.
  8. 8. Processo de acordo com a reivindicação 7, caracterizado por a identificação do bordo da região substancialmente circular incluir: varrimento horizontal da imagem retangular para identificar um ponto de transição em que a diferença entre o nivel de cinza dos pixels vizinhos é superior a um valor predeterminado, sendo o ponto de transição horizontal indicativo de um bordo lateral da região substancialmente circular; - varrer verticalmente a imagem retangular para identificar um ponto de transição em que a diferença entre o nivel de cinza dos pixels vizinhos excede um valor predeterminado, sendo o ponto de transição vertical indicativo de um bordo vertical da região substancialmente circular.
  9. 9. Processo de acordo com qualquer uma das reivindicações anteriores, caracterizado por o passo de varrimento radial da área do anel de deteção incluir a realização de uma exploração radial no sentido dos ponteiros do relógio para um ângulo superior a 360°.
  10. 10. Processo de acordo com qualquer uma das reivindicações 3 a 9, caracterizado por o passo de varrimento da área de anel de deteção a partir da posição de partida incluir a procura do bordo lateral do código de barras 2D.
  11. 11. Um programa de computador, incluindo meios de código de programa, para executar o método de qualquer reivindicação precedente quando o programa é executado num computador.
  12. 12. Um produto de programa de computador que inclui meios legíveis por computador que armazenam o programa de computador da reivindicação 11.
  13. 13. Um sistema para determinar, com um sistema de processamento de imagem digital, a posição de uma matriz de dados retangular dentro de uma região substancialmente circular, sendo a matriz de dados posicionada dentro de uma região de coroa circular predeterminada e dentro de um segmento circular da região substancialmente circular que tem um mínimo de escuridão de fundo superior a um limiar predeterminado, sendo a região de coroa circular definida por um círculo interior e por um círculo exterior que tem o centro substancialmente coincidente com o centro da região substancialmente circular, incluindo um ou mais componentes adaptados para executar as etapas do método de qualquer reivindicação 1 a 10.
  14. 14. Sistema de leitura do código de barras que inclui o sistema para determinar a posição de uma matriz de dados retangular dentro de uma região substancialmente circular da reivindicação 13.
  15. 15. Sistema eletromecânico para a realização de análises biológicas, incluindo o sistema de leitura de códigos de barras da reivindicação 14.
  16. 16. Etiqueta que suporta uma região substancialmente circular, incluindo uma matriz de dados cuja posição deve ser determinada com o método de qualquer reivindicação Ι-ΙΟ.
PT137708616T 2012-09-21 2013-09-19 Resumo PT2898449T (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP12185478.0A EP2711866A1 (en) 2012-09-21 2012-09-21 Method and system for detecting a 2D barcode in a circular label

Publications (1)

Publication Number Publication Date
PT2898449T true PT2898449T (pt) 2017-02-10

Family

ID=47257407

Family Applications (1)

Application Number Title Priority Date Filing Date
PT137708616T PT2898449T (pt) 2012-09-21 2013-09-19 Resumo

Country Status (7)

Country Link
US (1) US9292725B2 (pt)
EP (2) EP2711866A1 (pt)
CN (1) CN104641381B (pt)
ES (1) ES2612884T3 (pt)
PL (1) PL2898449T3 (pt)
PT (1) PT2898449T (pt)
WO (1) WO2014044747A1 (pt)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10288410B2 (en) * 2016-11-10 2019-05-14 The Boeing Company Method and system for identifying wire contact insertion holes of a connector
CN107492091B (zh) * 2017-07-06 2020-09-04 东莞理工学院 基于机器视觉的标签外观检测方法及终端设备
CN108256522B (zh) * 2018-01-09 2020-05-19 北京航空航天大学 一种spr与波导混合吸收谱特征位置的二维识别方法
CN109724990B (zh) * 2019-01-08 2021-08-06 上海大学 一种包装盒标签中喷码区域的快速定位与检测方法
CN110096920B (zh) * 2019-04-22 2022-05-17 浙江大学滨海产业技术研究院 一种面向视觉伺服的高精度高速定位标签和定位方法
KR20220073261A (ko) * 2020-11-26 2022-06-03 주식회사 엘지에너지솔루션 전지셀 제조 방법 및 파우치 성형 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5798514A (en) * 1996-01-11 1998-08-25 Accumed Inc. Circular bar code
ES2256106T3 (es) * 2000-04-06 2006-07-16 Seiko Epson Corporation Metodo y aparato para leer un simbolo de codigo de barra bidimensional y medio de almacenamiento de datos.
FR2846432B1 (fr) * 2002-10-24 2005-03-11 Commissariat Energie Atomique Cible codee et procede de photogrammetre utilisant de telles cibles
EP1422657A1 (en) * 2002-11-20 2004-05-26 Setrix AG Method of detecting the presence of figures and methods of managing a stock of components
EP1904952A2 (en) * 2005-05-23 2008-04-02 Nextcode Corporation Efficient finder patterns and methods for application to 2d machine vision problems
WO2007075719A2 (en) * 2005-12-16 2007-07-05 Pisafe, Inc. Method and system for creating and using barcodes

Also Published As

Publication number Publication date
EP2898449A1 (en) 2015-07-29
EP2898449B1 (en) 2016-11-09
CN104641381A (zh) 2015-05-20
PL2898449T3 (pl) 2017-04-28
CN104641381B (zh) 2017-05-24
WO2014044747A1 (en) 2014-03-27
ES2612884T3 (es) 2017-05-19
EP2711866A1 (en) 2014-03-26
US9292725B2 (en) 2016-03-22
US20150278571A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
PT2898449T (pt) Resumo
KR100361385B1 (ko) 2차원코드인식방법
CN107532125B (zh) 用于视觉系统的基于图像的管槽圆形检测
ES2851391T3 (es) Registro de sistema de coordenadas de portaobjetos de microscopio
US20110285837A1 (en) Methods and systems for identifying well wall boundaries of microplates
US11972583B2 (en) Fluorescence image registration method, gene sequencing instrument, and storage medium
JP2020073891A (ja) 視覚システムにおける画像ベーストレイ位置合わせ及びチューブスロット位置特定
EP4137988A1 (en) System and methods for decoding two-dimensional matrix symbols
JP2013526717A5 (pt)
CN109993019A (zh) 基于连通域分析的二维码识别方法、系统及设备和介质
US9253449B2 (en) Mosaic picture generation
JPH1063772A (ja) データマトリックスシンボルを有する機械読取り可能なシンボルを探し、デコードするための方法及び装置
EP0883857A2 (en) Machine vision calibration targets and methods of determining their location and orientation in an image
CN116917939A (zh) 适用于使用单个图像捕获装置识别样本容器的3d中心位置的方法和设备
CN113793309A (zh) 一种基于形态学特征的亚像素级椭圆检测方法
JP2005025417A (ja) 光学的情報読取装置
CN112800797B (zh) 一种dm码的区域定位方法及系统
CN117557560B (zh) 基于pet和ct图像融合的肺结节病灶识别方法及系统
US20240085445A1 (en) Detection method for sample presence and device associated
ES2942571T3 (es) Dispositivo de fijación de tira reactiva para mediciones ópticas de un analito
CN117554601B (zh) 检测数据管理方法、装置、设备及存储介质
JP2005308578A (ja) 表面形状検出装置
EP4216170A1 (en) Instrument parameter determination based on sample tube identification
KR20220128098A (ko) 물질 분석을 위한 부호화 입자 검출 방법
DiLorenzo et al. Determination of Statistical Properties of Microtubule Populations