Ismael Andrade Pimentel Departamento da Eng. Mec
description
Transcript of Ismael Andrade Pimentel Departamento da Eng. Mec
Fundamentos de Computacao Gráfica
Trabalho-2 - Fazer um programa que, atravésde uma webcam, leia um código QR.
Primeira etapa: Binarizacao da Imagem.
Ismael Andrade PimentelDepartamento da Eng. Mec
QR Code
• O QR Code (ou Código de Barras em 2D), é uma matriz ou código de barras bi-dimensional, criado pela empresa Japonesa Denso-wave, em 1994. O QR vem de Quick Response, pois o código pode ser interpretado rapidamente, mesmo com imagens de baixa resolução, feitas por câmeras digitais em formato VGA, como as de celulares. O QR Code é muito usado no Japão.
• Capacidade de armazenamento• Numérica - Max. 7.089 caracteres• Alfanumérica - Max. 4.296 caracteres• Binário (8 bits) - Max. 2.953 bytes• Kanji/Kana - Max. 1.817 caracteres
• Capacidade de correção de erros• Nível L 7%• Nível M 15%• Nível Q 25%• Nível H 30%
Método de Otsu - Binarização
• O histograma de nível de cinza é normalizada e considerada como uma probabilidade de distribuição e é dada por
• Onde que os pixels da imagem dada são representados pelo “L” (1, 2, ...L) e o numero de pixels com nível “i”, é denotado por “ni” e o numero total de pixels N = n1 + n2 +n3+....nL.
Supondo agora que o pixel tem duas classes C0 e C1 (fundo e objetos) por um limiar de nível k: C0 denota pixels com níveis [0, ... k] e C1 denota pixels com níveis [k +1, ..., L ]. As
probabilidades de ocorrência classe e da classe média níveis, respectivamente, são dadas por
Objetivo:
• O objetivo do trabalho consiste em fazer um programa que, atravésde uma webcam, leia um código QR.
• Primeira etapa:
• Binarizacao de Imagem.
• Fazer um programa que leia as imagens fornecidas e produza uma matriz binária (1=preto e 0 branco) que corresponda a imagem do código QR. Para isto é preciso fazer a leitura, segmentação, identificação e decodificação da imagem. Calcular o histograma (quantas vezes a cor cinza aparece).
• Achar os marcadores dos cantos e fazer uma correção (homografia). Processar a imagem de forma a identificar onde estão os pontos do padrão. Gerar uma matriz de pontos através da imagem que corresponda ao código de segmentação que transforme a imagem RGB numa imagem binária (pixels com valor zero e um). Calculo para achar o thresrold (melhor nível de cinza).
Resultados
• Rodando o Otsu3 que corresponde somente ao OtsuBinarization teve melhores resultados do que os outros testes que transformavam a imagem para cinza ou passava o filtro de Gauss.