Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE...

41
Curso de Engenharia de Computação SOFTWARE DE DETECÇÃO DE CORES Jonatas Cezaretto Campinas – São Paulo – Brasil Dezembro de 2008

Transcript of Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE...

Page 1: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

Curso de Engenharia de Computação

SOFTWARE DE DETECÇÃO DE CORES

Jonatas Cezaretto

Campinas – São Paulo – Brasil

Dezembro de 2008

Page 2: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

Curso de Engenharia de Computação

SOFTWARE DE DETECÇÃO DE CORES

Jonatas Cezaretto

Monografia apresentada à disciplina de Trabalho de Conclusão do Curso de Engenharia de Computação da Universidade São Francisco, sob a orientação do Prof. Dr. Carlos Eduardo Câmara, como exigência parcial para conclusão do curso de graduação. Orientador: Prof. Dr. Carlos Eduardo Câmara

Campinas – São Paulo – Brasil

Dezembro de 2008

Page 3: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

DETECÇÃO E ANÁLISE DE CORES

Jonatas Cezaretto

Monografia defendida e aprovada em 12 de Dezembro de 2008 pela Banca

Examinadora assim constituída:

Prof. Dr. Carlos Eduardo Câmara (Orientador)

USF – Universidade São Francisco – Campinas – SP.

Prof. M.Sc. Carlos Eduardo Pagani (Membro Interno)

USF – Universidade São Francisco – Campinas – SP.

Prof. M.Sc. Rodrigo Chavez Monteiro do Prado (Membro Interno)

USF – Universidade São Francisco – Campinas – SP.

Page 4: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

Quando você quer alguma coisa, todo o universo

conspira para que você realize o seu desejo.

Paulo Coelho

Page 5: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

v

.Agradecimentos

Agradeço primeiramente a Deus que me guiou até onde estou hoje, meu orientador

Prof. Dr. Carlos Eduardo Câmara pela dedicatória e tempo dispostos para me ajudar durante o

desenvolvimento desse projeto.

Agradeço aos Professores André Leon S. Gradvohl, Rodrigo Chavez Monteiro do

Prado, Carlos Eduardo Pagani, Silvia Elisabeth Sauaia Lopes, Cláudio Maximiliano Zaina

(Max), Raimundo Cláudio da Silva Vasconcelos e Sidney Pio de Campos, companheiros de

percurso e de discussões dentro e fora do contexto deste trabalho.

Dedico esse trabalho aos meus pais, irmãos, namorada, amigos e a todos que me

incentivaram em todos os momentos.

Page 6: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

vi

Sumário

Lista de Siglas .........................................................................................................................vii

Lista de Figuras .....................................................................................................................viii

Resumo .....................................................................................................................................xi

Abstract ....................................................................................................................................xi

1 Introdução .......................................................................................................................... 1

2 Conceitos básicos e teóricos .............................................................................................. 2 2.1 Modelo de Imagem........................................................................................................ 2 2.2 Amostragem e Quantificação........................................................................................ 2 2.3 Imagem Digital.............................................................................................................. 3 2.4 Cores.............................................................................................................................. 4 2.5 Imagens Coloridas......................................................................................................... 5 2.6 Modelos de cores........................................................................................................... 5 2.7 Padrão RGB de cores. ................................................................................................... 6 2.8 Teoria Tricomática ........................................................................................................ 7 2.9 Operações em Imagens.................................................................................................. 7 2.10 Processamento de Imagens Coloridas........................................................................... 7

3 Conceitos e desenvolvimento............................................................................................. 8 3.1 Conceitos de Desenvolvimento..................................................................................... 8 3.2 Desenvolvimento do Algoritmo e Justificativas ........................................................... 9

3.2.1 Desenvolvimento do Projeto: .................................................................................9 3.2.2 Seleção da cor Padrão:..........................................................................................10 3.2.3 Captura da Imagem pela Webcam:.......................................................................10 3.2.4 Comparação dos Pixels: .......................................................................................12

4 Testes e avaliação dos testes............................................................................................ 14 4.1 Testes........................................................................................................................... 16

4.1.1 Teste da cor branca utilizando a Webcam A: .......................................................16 4.1.2 Teste da cor Preta utilizando a Webcam A: .........................................................19 4.1.3 Teste da cor Branca utilizando a Webcam B:.......................................................21 4.1.4 Teste da cor Preta utilizando a Webcam B:..........................................................22 4.1.5 Teste de imagens coloridas:..................................................................................23

5 Conclusão e Trabalhos Futuros...................................................................................... 28 5.1 Conclusão.................................................................................................................... 28 5.2 Trabalho Futuros ......................................................................................................... 28

Referências Bibliográficas ..................................................................................................... 30

Page 7: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

vii

Lista de Siglas

API Application Programming Interface: Interface de Programação de

Aplicativos

AVI Audio Video Interleave

CIE Comissão Internacional sobre Iluminação

CMY Cian, Magenta, Yellow.

GDI Graphics Device Interface (Dispositivo de interface gráfica)

GUI Graphics User Interface (Interface gráfica de usuário)

HSI Matiz, saturação, Intensidade.

YIQ Luminância, em-fase, quadratura.

RGB Red, Green, Blue (vermelho, verde, azul).

VB6 Visual Basic 6.

Page 8: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

viii

Lista de Figuras

FIGURA 1: REPRESENTAÇÃO MATRICIAL DA IMAGEM. .................................................................3

FIGURA 2: ESPECTRO DE CORES. ..................................................................................................4

FIGURA 3: CUBO DE CORES RGB. ................................................................................................6

FIGURA 4: SELEÇÃO DA COR PADRÃO. ......................................................................................10

FIGURA 5: CÓDIGO DE INCIALIZAÇÃO DA CÂMERA ...................................................................11

FIGURA 6: MENSAGEM SENDMESSAGE.....................................................................................11

FIGURA 7: CÓDIGO DO BOTÃO PARAR. ....................................................................................11

FIGURA 8: CAIXA DE IMAGENS E BOTÕES INICIAR CÂMERA E PARAR. .......................................12

FIGURA 9: CÓDIGO DE COMPARAÇÃO DE PIXELS........................................................................13

FIGURA 10: CÓDIGO DE CAPTURA DAS COMPONENTES R G B....................................................14

FIGURA 11: BENCHMARK DESEMPENHO DO PROCESSADOR FORNECIDO PELO SOFTWARE

FRESHDIAGNOSE VERSÃO 7.94 ..........................................................................................15

FIGURA 12: WEBCAM A ............................................................................................................16

FIGURA 13: WEBCAM B.............................................................................................................16

FIGURA 14: SISTEMA CAPTURANDO IMAGENS PELA WEBCAM A. ..............................................17

FIGURA 15: TESTE UTILIZANDO A WEBCAM A E ILUMINAÇÃO FORÇADA...................................18

FIGURA 16: TESTE UTILIZANDO O RECURSO DE SELEÇÃO DE COR PELO USUÁRIO.......................19

FIGURA 17: TESTE DA COR PRETA UTILIZANDO A WEBCAM A. ..................................................20

FIGURA 18: WEBCAM A TESTE DE PRETO UTILIZANDO FUNDO DE ESCALA 30............................21

FIGURA 19: SISTEMA CAPTURANDO IMAGENS PELA WEBCAM B................................................22

FIGURA20: TESTE DE DETECÇÃO DA COR PRETA NA WEBCAM B. ..............................................23

FIGURA 21: IMAGEM DE OBJETO “A ZUL” CAPTURADA PELA WEBCAM A ..................................24

FIGURA 22: IMAGEM DE OBJETO “A ZUL” CAPTURADA PELA WEBCAM B...................................25

FIGURA 23: IMAGEM DE OBJETO “V ERMELHO” CAPTURADA PELA WEBCAM A ........................25

FIGURA 24: IMAGEM DE OBJETO “V ERMELHO” CAPTURADA PELA WEBCAM B.........................26

FIGURA 25: IMAGEM DE OBJETO “V ERDE” CAPTURADA PELA WEBCAM A................................27

FIGURA 26: IMAGEM DE OBJETO “V ERDE” CAPTURADA PELA WEBCAM B................................27

Page 9: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

ix

Lista de Tabelas

TABELA 1: Cores Criadas com R,G,B.........................................................................7

Page 10: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

x

Lista de Equações

Equação 1: Arranjo da matriz N x M.............................................................................4

Page 11: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

xi

Resumo

Esse projeto apresenta um sistema de reconhecimento de cores em imagens, utilizando

um padrão de cores pré-determinado pelo usuário, o software busca de uma fonte receptora

(webcam) de imagens em tempo real, e através de comparações o software é capaz de

identificar se a imagem recebida do dispositivo contém a cor pré-determinada. A linguagem

de programação utilizada para o desenvolvimento foi Visual Basic.

PALAVRAS-CHAVE: Reconhecimento de cores, processamento de imagens digitais,

computação gráfica.

Abstract

This project presents a system of recognition of colors in images, using a standard

color pre-determined by the user, the software search for a source receiving (webcam) of

images in real time, and through comparisons of the software is able to identify whether the

picture from this device contains a color pre-determined. The programming language used for

the development was Visual Basic.

KEY WORDS: Recognition of color, image processing, computer graphics.

Page 12: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

1

1 INTRODUÇÃO

Sistemas desenvolvidos para a computação gráfica veem sendo amplamente utilizados

nos últimos anos devido a melhorias dos softwares de desenvolvimento e principalmente pela

diminuição do custo de hardware, mas isso só é possível devido ao fato de que a percepção de

mundo do ser humano ocorre principalmente pelas imagens que o circundam, ou seja, o ser

humano importa-se com o que vê.

Sistemas baseados em reconhecimento de cores são utilizados principalmente em

ambientes industriais com o objetivo de controle de qualidade de diversos produtos visuais ou

seleção de alimentos. Esses sistemas baseiam-se em um determinado hardware específico o

qual captura imagens através de câmeras de alta definição e processam as informações em

sistemas de hardware-software dedicados.

As soluções atuais apesar de eficientes, são compostas de hardware extremamente

custoso e softwares igualmente caros e de manipulação complexa.

Neste trabalho, foi desenvolvido um software em Visual Basic versão 6. A

programação em visual basic torna o desenvolvimento mais fácil e rápido, gerando menor

custo de desenvolvimento em comparação à linguagens mais complexas como o C/C++. O

software desenvolvido irá obter através de imagens de uma webcam comparações de cores

previamente selecionadas pelo usuário, no padrão RGB de cores, o software deverá ser capaz

de ser executado em um computador de mesa ou portátil com configurações de hardware

básicas (processador de núcleo único, mínimo de 1Gb de memória RAM e Webcam colorida),

ou seja, o custo de hardware abaixo de U$300.

Uma das grandes dificuldades para o desenvolvimento desse projeto foi causada pela

diferença de luminosidade que se tem na captura das imagens, a luminosidade do ambiente

influi no desempenho do sistema e também a qualidade da webcam deve ser levada em

consideração, quanto melhor a qualidade da imagem capturada melhor será o desempenho do

software.

Outro grande problema foi à dificuldade de separação de cores similares, cores muito

próximas no espectro RGB podem ser confundidas por eventuais ruídos na imagem ou pela

luminosidade do ambiente.

No desenvolver do trabalho é proposto um algoritmo para diminuir essa dificuldade

de separação de cores, o qual será detalhado no capitulo IV.

Page 13: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

2

2 CONCEITOS BÁSICOS E TEÓRICOS

2.1 Modelo de Imagem

Segundo [GONZALES&WOODS] o termo imagem refere-se a uma função de

intensidade luminosa bidimensional, definida por f(x,y) em que o valor da amplitude de f nas

coordenadas espaciais (x,y) dá a intensidade de brilho da imagem naquele determinado ponto.

A percepção de cor em um objeto é conseqüência da parcela de luz refletida. Ao se

incidir luz sobre um objeto, os pigmentos de sua superfície absorvem algumas freqüências da

luz incidente e refletem outras. A representação da quantidade de iluminação i(x,y) e

refletância r(x,y) de cores resulta em f(x,y).

f(x,y)= i(x,y) r(x,y)

Onde a iluminação deve ser maior que zero (0) é determinada pela fonte de luz, já a

refletância é limitada a zero (0) (absorção total) e um (1) (refletância total).

2.2. Amostragem e Quantificação

Segundo Conci A. & Azevedo E. & Leta R. F., “a representação adequada de uma

imagem é uma matriz cujas linhas e colunas identificam um ponto na imagem”. Esses pontos

chamados de Pixel (abreviação de “picture element” ou elemento de figura) são representados

pelos elementos da matriz, que carregam informações como posição, cor e outras informações

deste pixel. O pixel é a menor unidade individual da imagem.

Cada Pixel é representado no computador como um número inteiro que corresponde à

intensidade de luz no ponto. A cor de um pixel é representada como um inteiro de oito (8) bits

variando entre zero (0) e 255, sendo o valor 0 correspondente à cor preta e 255 à cor branca.

Porém, existem outras escalas que são representadas por mais bits. A escala de oito bits

geralmente representa, nos dias de hoje, níveis de cinza. As cores são representadas por pelo

menos oito bits de níveis de R, G e B.

“A taxa de amostragem determina quantos pixels terá a imagem digital (resolução da

imagem) e a quantificação determina quantos níveis entre a intensidade máxima e a mínima

Page 14: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

3

serão usados para representar o valor da intensidade em cada ponto de amostra”. [Conci A.

& Azevedo E. & Leta R. F]

A representação de uma imagem como uma matriz de pixels bidimensional, os índices

da matriz são valores, geralmente, inteiros que especificam a linha e a coluna na matriz. As

posições dos pontos no plano da imagem têm coordenadas x e y, sendo y correspondente a

direção vertical positivo para baixo e x correspondente a direção horizontal positivo para a

direita. A figura 1 mostra as direções e posição do pixel.

Figura 1: Representação matricial da imagem.

2.3. Imagem Digital

Uma imagem digital é descrita por uma matriz N x M de valores de pixel p(x,y)

inteiros e positivos, indicando a intensidade de cor na determinada posição (x,y) da imagem.

A equação 1 mostra como é feito o arranjo na matriz N x M

Page 15: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

4

Equação 1: Arranjo da matriz N x M.

Considerando imagens coloridas, deve-se ter pelo menos três planos que

registrem a quantidade de vermelho (R), verde (G), e azul (B), que combinadas, geram uma

cor.

2.4. Cores

Em 1666, Sir Isaac Newton descobriu que a luz consiste de um conjunto de cores

variando do violeta ao vermelho. A figura 2 ilustra o espectro de cores que pode ser divido em

seis amplas regiões: violeta, azul, verde, amarelo, laranja e vermelho.

Figura 2: Espectro de cores.

“As cores perceptíveis aos seres humanos são determinadas pela natureza da luz

refletida do objeto.”[Gonzalez & Woods]

Se a luz observada for acromática (sem cores), seu único atributo será a intensidade ou

a quantidade.

Para a luz cromática são usados três valores básicos para descrever a qualidade da

fonte de luz: radiância, luminância e brilho. Sendo que a radiância é a quantidade em watts

Page 16: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

5

(W) de energia que flui da fonte de luz a luminância medida em lúmem (lm) mede a

quantidade de energia que o observador percebe da fonte de luz, já o brilho é praticamente

impossível de ser medido, é um fator importante na descrição da sensação de cores.

Para o propósito de padronização em 1931 a Comissão Internacional sobre Iluminação

(CIE) designou valores específicos de comprimento de onda para as três cores primárias: Azul

= 435,8nm, Verde = 546,1nm e Vermelho = 700nm. As cores primárias podem ser

adicionadas para produzir as cores secundárias da luz, magenta (vermelho e azul) ciano (verde

e azul) e amarelo (vermelho e verde). A mistura das três cores primárias produz a cor branca.

Para se distinguir uma cor da outra normalmente são utilizadas o brilho, matiz e

saturação.

O brilho incorpora a noção cromática da intensidade, a matiz é associada ao

comprimento de onda dominante em uma mistura de ondas de luz e a saturação refere-se à

pureza ou a quantidade de luz branca misturada com um matiz.

2.5. Imagens Coloridas

Imagens coloridas são imagens nas quais os pixels possuem três canais, R, G e B.

Cada um assumindo um faixa de valores de acordo com o número de bits usados que quando

combinados produzem o conjunto de cores da imagem.

Uma imagem no padrão RGB possui 24 bits de cores separados em 3 canais de 8 bits

cada totalizando aproximadamente 16 milhões de combinações de cores.

Uma imagem colorida tem, portanto três matrizes de valores de pixels que registram a

quantidade de vermelho (R), verde (G) e Azul (B), que quando combinados geram uma cor.

2.6. Modelos de cores

Os modelos de cores foram criados para facilitar a especificação das cores, um modelo

de cor é uma especificação de um sistema de coordenadas tridimensionais onde cada cor é

representada por um único ponto.

Page 17: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

6

Os modelos de cores atualmente utilizados são orientados por hardware, e os

padrões mais comuns são o RGB (red, green, blue), CMY (Cian, Magenta, Yelow), HSI

(matiz, saturação, intensidade) e YIQ (Luminância, em-fase, quadratura). Para esse projeto

será utilizado o padrão RGB, que será exemplificado abaixo.

2.7. Padrão RGB de cores.

O padrão RGB (vermelho, verde e azul) baseia-se num sistema de coordenadas

cartesianas. Representado pela figura 3 o cubo de cores RGB o qual as cores primárias R

(vermelho) G (verde) e B (azul) estão nos três cantos indicados pelas coordenadas, nos outros

3 cantos estão as cores secundárias ciano, magenta e amarelo o preto está na origem e o

branco no canto mais distante da origem.

Figura 3 cubo de cores RGB.

As imagens no modelo de cores RGB consistem em três planos de imagem

independentes uma para cada cor primária, combinadas as cores produzem imagens

compostas.

O cubo de cores RGB possui pontos ao longo da diagonal principal e tem

valores de cinza desde o preto na origem até o branco na extremidade.

Page 18: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

7

2.8. Teoria Tricomática

Todas as cores perceptíveis ao olho humano, são combinações de R, G e B em

proporções quantificadas em um intervalo de 0 a 100%, de acordo com a intensidade de cada

uma delas. Sendo R a proporção de Vermelho, G a proporção de Verde e B a proporção de

Azul. A tabela 1 exemplifica alguns modelos de cores escritas nessa forma.

COR R (%) G(%) B(%)

Vermelho Puro 100 0 0

Azul Puro 0 0 100

Verde Puro 0 100 0

Amarelo 100 100 0

Tabela 1: Cores criadas com R,G,B.

Utilizando-se das três cores primarias é possível produzir qualquer cor.

2.9. Operações em Imagens

Existem três grandes classes distintas de operações em imagens que são;

• Realizadas pontualmente nos pixels;

• Realizadas em partes da imagem;

• Realizadas em toda a imagem.

Para o desenvolvimento do trabalho apenas foram consideradas apenas as operações

realizadas pontualmente nos pixels, essas são operações que dependem apenas do pixel (x,y)

na imagem. Para esse caso as únicas informações que se têm é a cor do pixel e a sua posição.

Essa operação pode ser visualizada como um mapeamento de pixels da imagem.

2.10. Processamento de Imagens Coloridas

O processamento de imagens coloridas é motivado por dois fatores principais:

inicialmente, em análise de imagens automatizada, pois a cor simplifica a identificação do

Page 19: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

8

objeto e a extração de uma cena, e em segundo lugar, em análise de imagens desempenhada

por seres humanos, sendo possível discernir milhares de tons e intensidades de cores.

O processamento de imagens coloridas é separado em duas áreas principais:

processamento de cores reais que são aquelas adquiridas com um sensor de cores reais como

uma câmera, scanner. A outra categoria é a de pseudo-cores que é a atribuição de cores para

uma imagem monocromática.

Com o progresso no desempenho dos hardwares e sensores para processamento de

imagens coloridas e diminuição de preços, o processamento de imagens de cores reais tem se

tornado significativamente amplo.

3 CONCEITOS E DESENVOLVIMENTO

3.1 Conceitos de Desenvolvimento

Para o desenvolvimento do projeto, foi utilizada a linguagem de programação Visual

Basic 6 da Microsoft, esta foi escolhida pela facilidade de implementação do software, pela

grande quantidade de documentação disponível para aplicações utilizando imagens, já que ela

é uma linguagem totalmente visual dirigida por eventos.

Por ser uma linguagem visual, o Visual Basic facilita a implementação de interfaces

utilizando GUI (Graphics User Interface).

O GUI permite uma maior interação com dispositivos digitais como teclado e mouse,

através de elementos gráficos como ícones ou indicadores visuais, o usuário é capaz de

manipular melhor o software, obtendo um resultado prático.

Para o desenvolvimento do software foi necessário o uso de recursos de API do

Windows.

API Application Programming Interface (ou Interface de Programação de Aplicativos)

é uma interface de programação que permite explorar o potencial de desenvolvimento de

aplicativos, usando uma API.

A API é composta de funções acessíveis por programação, e permite que o

programador utilize características do software menos evidentes, isso permite que o

programador use funções de acordo com suas necessidades.

Page 20: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

9

No desenvolvimento desse projeto foram utilizadas API gráficas GDI ou dispositivo

de interface gráfica (Ghaphics Device Interface) o GDI é responsável pela visualização

gráfica dos aplicativos.

Para o desenvolvimento do projeto, foi necessária a utilização de três bibliotecas do

Windows, são elas gdi32.dll, avicap32.dll e user32.dll.

A biblioteca GDI32.DLL contém funções para o Windows GDI, é um requisito para o

funcionamento do Windows, auxiliando a criação de janelas, e outros objetos, e é responsável

pela comunicação entre placa de vídeo e as imagens que aparecem na tela.

Outra biblioteca requerida para o desenvolvimento do projeto é a AVICAP32.DLL,

que contem funções para a API do Windows responsável pela captura de imagens/vídeos de

câmeras ou outros hardwares, armazenando o resultado em um arquivo de vídeo no formato

AVI.

E por final a biblioteca USER32.DLL contém componentes para várias GUI e funções

de usuários.

A biblioteca USER32.DLL é necessária para o correto funcionamento do sistema

operacional Windows.

3.2 Desenvolvimento do Algoritmo e Justificativas

3.2.1 Desenvolvimento do Projeto

Os algoritmos foram implementados com base de testes, assim o software pode ser

ajustado para uma utilização otimizada.

A técnica utilizada para reconhecer cores em imagens é baseada no padrão de

comparação de imagens baseado pontualmente nos pixels da imagem capturada. Desta forma

não é necessária a utilização de um banco de dados para armazenar as imagens capturadas, já

que todas as comparações são feitas em tempo real, dispensando a necessidade de um

equipamento robusto para o armazenamento de dados.

Assim o projeto é baseado em três partes fundamentais:

• Seleção da cor padrão

• Captura da imagem pela webcam

• Comparação dos pixels

Page 21: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

10

3.2.2 Seleção da cor Padrão:

Nesta etapa é necessário fornecer ao sistema o padrão de cores a ser comparado.

Figura 4: 1 Seleção da Cor Padrão.

A Figura 4 mostra o seletor de cor padrão, a partir desse dispositivo, o usuário é capaz

de selecionar uma cor padrão, ajustando as três barras de rolagem que correspondem às três

cores do padrão RGB. Quando uma cor é definida, o seu correspondente numérico é mostrado

na frente da barra de rolagem, desta forma o usuário é capaz de selecionar de forma mais

eficaz a cor desejada.

3.2.3 Captura da Imagem pela Webcam:

A captura de imagem é um processo simplificado, pois o acesso da câmera pelo Visual

Basic é efetuado pelas bibliotecas AVICAP32.DLL e USER32.DLL.

No sistema quando o usuário clica no botão INICIAR CÂMERA, não somente o

procedimento de captura de quadros se inicia, mas também o sistema de comparação de pixels

que será exemplificado no próximo tópico.

Uma vez iniciado o processo de captura, o software estará ativado, porém não é

necessário que se interrompa o processo caso haja a necessidade de se alterar a cor padrão,

essa pode ser alterada a qualquer momento mesmo que o sistema esteja em funcionamento.

A Figura 5 mostra o código de Incialização da câmera, quando o usuário clica no

botão de iníciar, o processo de captura de vídeo começa pela função

capCreateCaptureWindowA, essa função cria um identificador, usado para referenciar a

janela, é possível customizar a janela mudando os parâmetros de estilo. Porém no

desenvolvimento do trabalho somente foi definido o padrão de tamanho da janela, fixado em

Page 22: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

11

640 por 480 pixels, essa resolução foi escolhida para se ter resultados parametrizados, já que a

webcam de menor qualidade utiliza esse padrão de resolução.

Figura 5:2 Código de Incialização da Câmera

Uma vez que a janela foi criada, é necessário se conectar a janela ao driver de vídeo,

essa conexão é feita com a mensagem ConnectCam ilustrado na figura 6.

Figura 6:3 Mensagem SendMessage

A API SendMessage é chamada passando 4 atributos:

• Um identificador da janela. (mCapHwnd)

• Uma mensagem para enviar à janela. (ConnectCam)

• Um parâmetro curto – 16 bits (não utilizado)

• Um parâmetro longo – 32 bits bits (não utilizado)

A função SendMessage está contida na biblioteca USER32.DLL e a função

capCreateCaptureWindowA está contida na biblioteca AVICAP32.DLL.

Quando o botão PARAR é acionado todo o procedimento de captura e comparação é

interrompido.

A figura 7 mostra o comando de Parar a captura, novamente a API SendMessage é

utilizada, porém agora enviando uma mensagem de parada para a câmera DisconnectCam.

Figura 7:4 Código do botão PARAR.

A figura 8 corresponde à caixa de imagens, e botões Iniciar Câmera e Parar.

Page 23: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

12

Figura 8:5 Caixa de imagens e botões Iniciar Câmera e Parar.

3.2.4 Comparação dos Pixels:

O processo de comparação de pixels é feito a partir de uma comparação simples entre

os dados fornecidos pelo usuário no procedimento de seleção de cor e os dados capturados

pela webcam.

Contudo, a escolha de uma webcam para fazer o trabalho de detecção de cores em um

nível satisfatório pode ser prejudicada pela baixa qualidade das imagens capturadas,

ocasionada por vários fatores, sendo os principais deles a baixa quantidade de luminosidade

do ambiente e a baixa qualidade da webcam. Quanto maior a qualidade da imagem recebida,

maior a precisão na comparação de cores.

Esses problemas podem ser minimizados utilizando uma margem de erro para cada

pixel analisado, ou seja, fixamos uma escala de fundo, garantindo assim uma margem de erro

aceitável para cada padrão de cores. Essa técnica será provada na exemplificação dos testes

efetuados.

O código utilizado para a comparação dos pixels está exemplificado na figura 9.

Page 24: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

13

Figura 9:6 Código de comparação de pixels.

A comparação é feita individualmente para cada padrão de cor RGB, como ilustrado

na Figura 9 ou seja, as linhas de 1 a 7 contém o código para a comparação da cor Vermelha,

enquanto as linhas 10 a 16 contém o código para a comparação da cor Verde e entre as linhas

18 a 24 é feita a comparação da cor Azul. Para as três cores o procedimento de comparação é

o mesmo, o código é exemplificado tomando como exemplo a comparação da cor vermelha.

Para iniciar a explicação é necessário conhecer as variáveis envolvidas no sistema.

As variáveis r, g, b contém o valor recebido pela captura da webcam ilustrado pela

figura 10, e as variáveis r1, g1, b1 e r2, g2, b2 possuem os valores recebidos pela seleção de

cor do usuário já incluído o valor de fundo de escala para mais no caso das variáveis

terminadas com 1 e para menos nas variáveis terminadas com 2.

As variáveis verm, verd, azul são utilizadas para a comparação se as cores foram

encontradas ou não.

Page 25: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

14

Figura 10 Código de captura das componentes R G B.

A primeira linha de comando (linha 1) possui uma condicional If, que testa a variável

vermelha, se r for menor ou igual que r1 e maior ou igual que r2 ou seja, o valor contido em r

deve estar entre r1 e r2.

Caso a condicional da linha 1 seja verdadeira, é escrito na caixa de texto que

“Vermelho Encontrado” (linha 2 ) e a variável verm recebe 1 (linha 3)

Caso a condicional da linha 1 não seja verdadeira é escrito na caixa de texto que

“Vermelho não Encontrado” (linha 5 ) e a variável verm recebe 0 (linha 6)

Na linha 26 outra condicional testa as variáveis verm, verd e azul caso todas as

variáveis possuam conteúdo igual a 1, corresponde que a cor em questão foi encontrada,

portanto a caixa de texto indicará ao usuário que “Cor Encontrada” (linha 27), incrementará o

contador de pixels detectados (linha 28) e mostrará em uma caixa de texto o número de pixels

já detectados (linha 29). Caso alguma das três variáveis possuam conteúdo igual a 0, a caixa

de texto mostrará ao usuário “Cor não Encontrada” linha 31.

Ao final do teste é possível saber quantos pixels compatíveis foram encontrados.

4 TESTES E AVALIAÇÃO DOS TESTES

Para os testes efetuados no sistema foi utilizado um computador com processador Intel

Celeron M 1.5GHz com memória SDRAM de 1Gb. A intenção é demonstrar que em um

computador de baixo desempenho é possível obter bons resultados em comparações de cores.

A figura 10 mostra um Benchmark gerado pelo software FreshDiagnose versão 7.94

de distribuição gratuita, do computador utilizado para fazer as análises. Softwares de

Page 26: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

15

benchmark tem por objetivo testar o hardware / software de um determinado computador

realizando uma análise completa e comparam com resultados obtidos de outros sistemas já

analisados. Obtendo-se assim uma medida de desempenho para o computador.

Figura 11: Benchmark desempenho do Processador fornecido pelo Software Freshdiagnose versão 7.94

No benchmark realizado pelo software Fresdiagnose foi feito um teste de desempenho

do processador do computador utilizado nos testes do software e comparado com resultados já

fornecidos pelo próprio software FreshDiagnose. Como mostrado na Figura 11, o teste foi

realizado indica que o computador utilizado nos testes deste trabalho está bem abaixo dos

padrões dos computadores pessoais atuais, já que o desempenho do computador utilizado

(destacado pela cor azul) é inferior à um Intel Pentium 4.

Nos testes foram utilizadas dois modelos de WebCam. A Webcam A é da marca Dr-

Hank modelo VC-M035, possui sensor de cor CMOS e foco manual, resolução máxima de

640x480 pixels com conexão USB, ilustrada na Figura 12. A Webcam B é da marca Neox

modelo NXW022 possuindo sensor de cor CMOS foco manual, resolução máxima de

2560x1920 pixels ajuste de cor automático, e 4 leds (não utilizados para o projeto) ilustrada

na figura 13

Page 27: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

16

Figura 212: Webcam A

Figura 313: Webcam B

Os testes realizados foram efetuados de forma padronizada, ou seja, para testar um

padrão de cor, foi determinada uma margem de erro para a escala de fundo e as câmeras

foram iniciadas filmando um objeto de cor única, os testes foram realizados no mesmo

ambiente para ambas as câmeras e em intervalos de tempo curtos. A calibragem de cores foi

feita de forma automática, pois cada câmera possui em seu driver de controle um algoritmo

próprio de calibragem.

4.1 Testes

4.1.1 Teste da cor branca utilizando a Webcam A:

Inicialmente, foi realizado um teste para a detecção da cor branca, ou seja, a presença

completa de cor: Vermelho na posição 255, Verde na posição 255 e Azul na posição 255.

Utilizando a webcam A à luz ambiente e uma margem de erro de 10 para mais ou para

menos foram obtidos os seguintes resultados conforme figura 14

Page 28: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

17

Figura 414: Sistema capturando imagens pela Webcam A.

Nesse caso nenhuma cor for encontrada, devido à baixa luminosidade do ambiente, o

fundo que na verdade era branco, tem em suas componentes RGB os respectivos valores 88,

76, 64, valores esses tomados no momento que o software foi interrompido, o software nesse

caso somente reconheceria cores na faixa de 245 a 255.

O segundo teste efetuado ilustrado na figura 15 foi adicionado iluminação externa,

nota-se que em parte da figura a cor branca é predominante, e o software detectou a cor

branca, comprovado pelo contador que agora marca 440 pixels detectados com a cor branca,

porém no momento da captura da imagem a cor branca já não era mais presente os valores de

RGB eram 238, 255, 237.

Page 29: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

18

Figura 515: Teste utilizando a Webcam A e iluminação forçada.

No terceiro teste, a cor padrão foi ajustada para um valor próximo aos valores obtidos

pela Webcam A, sem a utilização de iluminação auxiliar.

A figura 16 mostra os resultados obtidos quando a cor padrão é ajustada para encontrar

a cor, nesse caso podemos ver que o software detectou a cor selecionada.

Como mostram as caixa de texto todas as cores, foram encontradas (Vermelho, Verde

e Azul). Portanto o software apresenta para o usuário que a cor foi encontrada e incrementa o

contador cada vez que um pixel com a cor padrão é detectado.

Page 30: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

19

Figura 616: Teste utilizando o recurso de seleção de cor pelo usuário.

4.1.2 Teste da cor Preta utilizando a Webcam A:

A cor preta, ou seja, a ausência completa de cor: vermelho na posição 0, verde na

posição 0 e azul na posição 0.

Para efetuar esse teste a webcam A foi colocada em um ambiente com ausência de

luminosidade. A Figura 16 ilustra o teste realizado.

Page 31: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

20

Figura 717: Teste da cor preta utilizando a Webcam A.

Visualizando a figura 17 nota-se que apesar da cor ser capturada ser muito próximo do

preto, as componentes RGB possuem valores ainda fora do padrão de reconhecimento, R=32,

G=28, B=31.

Aumentando o valor de fundo de escala para a comparação, a cor preta deve ser

encontrada, para isso deve ser aumentado o valor de fundo de escala para 30, antes 10

utilizados. O teste é ilustrado na figura 18.

Page 32: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

21

Figura 818: Webcam A teste de preto utilizando fundo de escala 30.

Desta forma ilustrada na figura 18, é possível verificar que o padrão de fundo de

escala com valor fixo em 30, consegue eliminar o problema de detecção da cor preta, já que

no ambiente filmado pela webcam não possui nenhuma iluminação. Desta forma conclui-se

que para detectar a cor preta com a webcam A é necessária uma escala de fundo com valor

mínimo de 30.

4.1.3 Teste da cor Branca utilizando a Webcam B:

Para a Webcam B, foram mantidos os mesmos padrões de testes realizados com a

Webcam A.

A detecção da cor branca, ou seja, a presença completa de cor: Vermelho na posição

255, Verde na posição 255 e Azul na posição 255.

Utilizando a webcam B sob luz ambiente e uma margem de erro de 10 para mais ou

menos. Foram obtidos os seguintes resultados conforme figura 19

Page 33: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

22

Figura 919: Sistema capturando imagens pela Webcam B.

Devida à baixa iluminação, o padrão branco não foi encontrado, porém nota-se uma

melhoria no desempenho da captura em relação à Webcam A.

Sendo assim, o próximo teste será da cor preta.

4.1.4 Teste da cor Preta utilizando a Webcam B:

Seguindo o mesmo padrão de testes utilizados com a Webcam A, o teste de detecção

de uma imagem de cor preta, ou seja, vermelho na posição 0, verde na posição 0 e azul na

posição 0.

Para efetuar esse teste a webcam B foi colocada em um ambiente com ausência de

luminosidade, o padrão de erro de fundo de escala para esse teste é de mais ou menos 10. A

Figura 20 ilustra o teste realizado.

Page 34: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

23

Figura1020: Teste de detecção da cor preta na Webcam B.

As imagens obtidas na Webcam B possuem uma melhor qualidade comparadas as

imagens obtidas da Webcam A. Na Figura 20 é possível observar que apesar das constantes

RGB não estarem na posição 0, elas estão fixas com valor 10, ou seja há uma melhor

precisão, desta forma o padrão de fundo de escala com valor fixado em 10 é suficiente para

detectar o padrão de cor preto.

4.1.5 Teste de imagens coloridas:

Para os testes com imagens em cores, foram comparados os resultados obtidos com a

Webcam A com aqueles obtidos com a Webcam B. Os objetos em questão não possuíam

valores de RGB conhecidos, portanto os testes foram realizados somente comparando o

desempenho de detecção do software ajustando as componentes de seleção de cor RGB para

analisar o resultado em comparação com a cor visual do objeto.

No primeiro teste realizado, um objeto azul foi colocado em frente às webcams,

utilizando somente a luminosidade do ambiente. Observando as figuras 21 e 22 é possível

notar uma grande diferença entre a qualidade da imagem capturada e a imagem visual do

objeto.

Page 35: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

24

A figura 20 representa a imagem capturada pela webcam A, os valores de RGB são

muito próximos R=101, G=102, B=118, porém a constante Azul possui um valor destacado,

que pode ser comprovado na barra de rolagem da cor azul da Figura 21, os valores

apresentados acima foram obtidos no momento em que a Webcam foi interrompida.

A imagem capturada pela Webcam A não corresponde com uma proximidade

satisfatória à cor visual do objeto capturado, porém com os devidos ajustes no padrão de cor,

é possível detectar a cor correspondente.

Figura 21:11 Imagem de objeto “Azul” capturada pela Webcam A

A figura 22 corresponde a imagem capturada pela Webcam B, esta possui uma

proximidade maior com a cor visual do objeto, as constantes RGB capturadas são mais

condizentes com uma imagem azul, R=39, G=94 e B=173, isso é bem visível na barra de

seleção de cores, é possível ver que a barra do azul está bem distante das demais cores.

A cor capturada pela Webcam B é bem mais próxima da cor do objeto, portanto os

padrões de cor capturados pela Webcam B são melhores que a Webcam A.

Page 36: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

25

Figura 2212 Imagem de objeto “Azul” capturada pela Webcam B

O Segundo teste efetuado foi utilizado um objeto de cor visual Vermelho, as figuras

23 e 24 ilustram os resultados obtidos.

A imagem capturada pela Webcam A é representada pela figura 23, nota-se que a

detecção do vermelho foi simples, pois o vermelho se destaca das outras cores.

Figura 23:13 Imagem de objeto “Vermelho” capturada pela Webcam A

Page 37: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

26

O mesmo é notado pela figura 24 capturada pela Webcam B, porém é possível

perceber que a qualidade da imagem obtida pela Webcam B é superior, ou seja os valores

obtidos são mais próximos a cor vermelha.

Figura 24:14 Imagem de objeto “Vermelho” capturada pela Webcam B

O terceiro teste efetuado foi para testar uma imagem de cor visual Verde, as Figuras

25 e 26 ilustram os resultados obtidos.

Para ambas as câmeras os resultados obtidos foram inferiores ao esperado, com pouco

destaque para a cor verde, praticamente todos os valores das constantes RGB estão

praticamente iguais. A cor capturada foi muito diferente da cor visual do objeto, o objeto

utilizado tinha cor verde-limão.

A figura 25 representa a imagem capturada pela Webcam A enquanto a figura 26

representa a imagem capturada pela Webcam B, ambas bem diferentes da cor visual do

objeto.

Page 38: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

27

Figura 25:15 Imagem de objeto “Verde” capturada pela Webcam A

Figura 26:16 Imagem de objeto “Verde” capturada pela Webcam B

Page 39: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

28

5 CONCLUSÃO E TRABALHOS FUTUROS

5.1 Conclusão

Conclui-se que o desenvolvimento de um software de detecção de cores utilizando-se de

um computador comum e uma câmera Webcam de baixo custo é funcional, porém algumas

restrições devem ser levadas em consideração:

• Qualidade da imagem capturada.

• Luminosidade do ambiente.

• Configuração do software pelo usuário.

A qualidade da imagem está diretamente relacionada com a qualidade do dispositivo

de captura, nesse caso a Webcam. Nos testes realizados fica evidente a diferença de qualidade

da imagem obtida através de testes realizados apenas com estas duas webcams. Para uma

aplicação em nível real se faz de total importância a aquisição de uma webcam que obtenha a

melhor qualidade de imagem possível. Essa diferença de qualidade entre as câmeras podem

ser notadas tanto pela qualidade do equipamento (hardware) quanto pelo driver de instalação

da câmera (software), as webcams que possuem driver com um sistema de calibragem mais

eficiente obtém resultados melhores. Quanto mais baixa a qualidade da câmera maior o fator

de correção de erro (fundo de escala), podendo implicar na detecção de cores incorretas, ou na

imprecisão de detecção de cores.

A luminosidade do ambiente é outro fator importante para a comparação dos pixels,

pois uma simples alteração na luminosidade influenciará na imagem capturada. Portanto, para

uma situação de uso real, a luminosidade do ambiente deverá ser controlada.

Os problemas de luminosidade podem ser minimizados com a utilização da câmera

dentro de um ambiente controlado, o ideal seria manter a câmera dentro de um ambiente que

possua iluminação controlada.

Finalizando, a configuração da cor padrão, definida pelo usuário deverá ser ajustada de

forma correta, uma má configuração implicará no não reconhecimento das cores desejadas.

5.2 Trabalho Futuros

Para trabalhos futuros do sistema é proposto:

Page 40: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

29

• Melhorar a eficiência do algoritmo, desenvolvendo sistemas baseados em

conhecimento para diminuição de erros na detecção das imagens.

• Outras técnicas para o reconhecimento dos padrões de cores.

• Melhorias na interface do sistema.

• Algoritmos para reconhecimento de bordas, tornando o software capaz de

reconhecer formas.

• Desenvolvimento de algoritmos para calibração automática do dispositivo de

captura de imagens.

Page 41: Curso de Engenharia de Computação SOFTAW RE DE DETECÇÃO DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1204.pdf · chamados de Pixel (abreviação de “picture element”

30

Referências Bibliográficas

GONZALEZ, R. C., WOODS, R. E., EDDINS, S. L., Digital Image Processing –

Prentice Hall – Pearson – 2002.

CONCI, A. AZEVEDO, E., LETA, F. R., Computação Gráfica – teoria e prática – vol

2. Ed. Campus – 2008.

GOMES J, VELHO L, Computação Gráfica – Imagem – Segunda Edição. Ed IMPA

2002.

TORI, ROMERO, Fundamentos de computação gráfica : compugrafia - Rio de

Janeiro : Livros Técnicos e Científicos, 1987

HOLZNET S, Visual Basic 6 Black Book, Ed Coriolis, 1998

Programando vídeo para Windows disponível em: http://www.macoratti.net/webcam.html

- Acesso em Outubro de 2008.

FreshDiagnose 7.94 Disponível em: http://www.freshdevices.com/ - Acesso em

Novembro de 2008.

Reconhecimento de Objetos em Tempo Real para Futebol de Robôs disponível em:

http://www2.eletronica.org/artigos/robotica/reconhecimento-de-objetos-em-tempo-real-para-

futebol-de-robos - Acesso em outubro de 2008