110 likes | 231 Views
Fundamentos de Computação Gráfica Prof.: Marcelo Gattass. Captura de Texto em um Quadro Branco. Hildebrando Trannin. Definição. Objetivo: implementar um algoritmo para capturar somente o texto de um quadro branco Entrada: câmera ou vídeo exibindo pessoas escrevendo no quadro
E N D
Fundamentos de Computação Gráfica Prof.: Marcelo Gattass Captura de Texto em um Quadro Branco Hildebrando Trannin
Definição • Objetivo: implementar um algoritmo para capturar somente o texto de um quadro branco • Entrada: câmera ou vídeo exibindo pessoas escrevendo no quadro • Saída: imagem com o texto escrito no quadro
OpenCV • Criada pela Intel em 2000 • Linguagem C/C++ • Biblioteca para auxílio no desenvolvimento de aplicações de Visão Computacional • Foi utilizada OpenCV para auxiliar na captura de vídeo (câmera ou arquivo) e tratamento da imagem
wxWidgets • Utilizada para criação de interfaces gráficas • Criada inicialmente em 1992 • Desenvolvida em C/C++ • Como os componentes para criação de janela no OpenCV são restritos, foi utilizada a biblioteca wxWidgets para desenvolvimento de uma aplicação mais robusta
Algoritmo • O algoritmo para captura do texto de um quadro branco segue as seguintes etapas: • Captura da imagem inicial de vídeo/câmera. Para um correto funcionamento o ideal é que tenha somente o quadro branco inicialmente • Captura da imagem após N frames • Para cada pixel, verifico se este é diferente do pixel da imagem inicial. Caso o seja, incremento minha matriz de contagem . Caso contrário, atribuo zero à matriz. • Atribuo branco para todos os pixels da imagem de resultado • Pego o valor do pixel da imagem capturada e atribuo à imagem de resultado caso este pixel tenha o valor da matriz de contagem maior ou igual a N • Retorno ao passo 2
Algoritmo • Ajuste dos parâmetros: • N = número de frames que o algoritmo espera para capturar uma imagem do vídeo e valor de comparação para inclusão do pixel na imagem final. • CORREÇÃO = valor de correção do erro de um pixel. Depende da qualidade de captura da câmera. • É importante salientar que esses parâmetros são inversamente proporcionais. • Quanto menor o número de frames de espera, maior deverá ser a correção do pixel • A recíproca é verdadeira
Resultados - OpenCV Resultado após esperar um tempo M segundos e imagem inicial com quadro branco Esquerda: Vídeo capturado de uma câmera Direita: Imagem de resultado após M segundos
Resultados - OpenCV Resultado após esperar um tempo de M segundos e imagem inicial com quadro branco Esquerda: Vídeo capturado de uma câmera Direita: Imagem de resultado após M+S segundos
Resultados OpenCV + wxWidgtes Resultado após esperar um tempo de M segundos e imagem inicial com o texto ESTE Esquerda: Vídeo capturado de uma câmera Direita: Imagem de resultado após M segundos
Resultados OpenCV + wxWidgtes Resultado após esperar um tempo M+S segundos e imagem inicial com o texto ESTE Esquerda: Vídeo capturado de uma câmera Direita: Imagem de resultado após M+S segundos
Referências • http://www.tecgraf.puc-rio.br/~malf/opencv/index.htm http://www.brucelindbloom.com • http://www.tecgraf.puc-rio.br/~mgattass • http://www.wxwidgets.org/