Ismael Andrade Pimentel Departamento da Eng. Mec

6
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

description

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. - PowerPoint PPT Presentation

Transcript of Ismael Andrade Pimentel Departamento da Eng. Mec

Page 1: 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

Page 2: 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%

Page 3: Ismael Andrade Pimentel Departamento da Eng. Mec

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.

Page 4: Ismael Andrade Pimentel Departamento da Eng. Mec

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

Page 5: Ismael Andrade Pimentel Departamento da Eng. Mec

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).

Page 6: Ismael Andrade Pimentel Departamento da Eng. Mec

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.