60 likes | 144 Views
Fundamentos de Computacao Gráfica Trabalho-2 - Fazer um programa que, através de uma webcam, leia um código QR. Primeira etapa: Binarizacao da Imagem. Ismael Andrade Pimentel Departamento da Eng. Mec. QR Code.
E N D
Fundamentos de Computacao GráficaTrabalho-2 - Fazer um programa que, atravésde uma webcam, leia um código QR.Primeira etapa: Binarizacao da Imagem. Ismael Andrade Pimentel Departamento 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.