Processamento De Imagem E Jogada De Ótima Performance Para Jogo De Damas Em Tabuleiro Real
Por: SonSolimar • 10/3/2018 • 1.921 Palavras (8 Páginas) • 448 Visualizações
...
Este trabalho consiste na apresentação do desenvolvimento e teste de um algoritmo no MATLAB com potencial para capturar, via webcam, um Jogo de Damas em um tabuleiro real e dar instruções para um dos jogadores desempenhar uma ótima performance, reduzindo ou eliminando a chance do oponente alcançar sucesso nas jogadas e vencer a partida.
2. OBJETIVOS
- Objetivo Geral
Desenvolver e testar um algoritmo no MATLAB capaz de capturar, via webcam, um Jogo de Damas em um tabuleiro real e instruir um dos jogadores para desempenhar uma performance ótima, reduzindo ou eliminando a chance do oponente alcançar a vitória.
- Objetivos Específicos
- Desenvolvimento de algoritmo no MATLAB para captura e processamento de imagem do Jogo de Damas no tabuleiro;
- Desenvolvimento de algoritmo no MATLAB para instruir um dos jogadores a obter uma ótima performance a fim de reduzir ou eliminar as chances de vitória do adversário;
- Teste do algoritmo de ótima performance no tabuleiro real do Jogo de Damas.
3. componentes físicos
A implementação do Jogo de Damas com instrução de ótima performance foi realizada com componentes adquiridos no Laboratório de Automação Inteligente (LAI) do Instituto Federal Fluminense, com o auxílio de ferramentas contidas no mesmo e sob as instruções do responsável pelo LAI, professor Edson Simões.
- Tabuleiro e Peças do Jogo de Damas
O Tabuleiro do Jogo de Damas disponibilizado pelo LAI consiste em um tabuleiro de 64 casas (8x8) pretas e brancas, confeccionado em uma plataforma de madeira, como ilustrado na Figura 1 abaixo:
[pic 2]
Figure 1 - Tabuleiro do Jogo de Damas – 64 casas (8x8)
Como pode ser notado, na parte inferior da plataforma, fora do tabuleiro, existem 4 casas, chamadas casas de calibragem. Esses quadrados serão utilizados para posicionar as peças, antes do início do jogo, para que seja feita a calibragem de cor das 4 cores de peças existentes, como mostrado na Figura 2 seguinte:
[pic 3]
Figura 2 - Peças Dispostas para Calibragem de Cor
Para o Jogo de Damas com o tabuleiro de 64 casas (8x8), foram confeccionadas 24 peças cilíndricas de madeira, 12 verdes e 12 vermelhas. Para simbolizar as damas, foram pintados o verso das peças verdes de verde claro e o verso das vermelhas de laranja, resultando em 4 cores de peças.
- Webcam
A webcam é uma câmera de vídeo de baixo que capta imagens e as transfere para um computador. A webcam foi usada para capturar imagens do tabuleiro durante o Jogo de Damas a fim de disponibilizar o estado do jogo para o algoritmo.
[pic 4]
Figura 3 – Webcam Leadership
4. algoritmo para captura e processamento de imagem do jogo de damas no tabuleiro
O algoritmo para captura e processamento de imagem do Jogo de Damas no tabuleiro foi totalmente desenvolvido no MATLAB. O código da parte principal referente a essa implementação encontra-se comentados no anexo I.
O algoritmo principal, como pode ser visto na Figura 4, é divido em três partes.
[pic 5]
Figure 4 – Algoritmo Principal de Captura e Processamento de Imagem
A primeira parte é responsável por capturar a imagem do tabuleiro, via webcam, delimitá-lo e encontrar os centroides das suas casas. É pedido ao usuário que, com o tabuleiro vazio, selecione as extremidades superior esquerda e inferior direita do tabuleiro, incluindo as casas de calibragem, a fim de delimitá-lo, como mostra a Figura 5 adiante:
[pic 6]
Figure 5 – Calibragem das Extremidades do Tabuleiro
Assim, através da função delimitar(), o programa calculará os centroides de todas as casas existentes e mostrará duas imagens do tabuleiro delimitado, uma original e outra binária (preto e branco), ambas com os centroides de cada casa demarcados, como ilustrado na Figura 6. Essas imagens são apresentadas ao usuário para que seja verificado se a imagem capturada pela webcam tem condições de ser utilizada pelo algoritmo.
[pic 7]
Figure 6 – Tabuleiro Original e Preto e Branco com os Centroides das Casas Reconhecidos
Para a segunda parte do algoritmo principal é necessário dispor as 4 cores de peças nas casas de calibragem. Assim a função calibrar() utilizará as saídas da função delimitar() para calibrar as cores das peças. Essa função calculará os máximos e mínimos de cada matriz RGB para cada região em torno dos centroides das casas de calibragem e mostrará duas imagens, uma original e outra de fundo branco com um quadrado localizado nos centroides de cada casa de calibragem com as cores de suas respectivas peças, como ilustrado a seguir na Figura 7. É importante mencionar que a disposição das peças nas casas de calibragem estará diretamente relacionada a atribuição de um número de 1 a 4 a cada cor de peça, ordenadamente da esquerda para a direita.
[pic 8]
Figure 7 – Tabuleiro Original com as Cores Das Peças Nas Casas de Calibragem Reconhecidas
A última parte do algoritmo principal é responsável por testar e identificar onde as peças se encontram no tabuleiro. Através das saídas das funções delimitar() e calibrar() a função testar() calculará a média de cada canal de cor e assim saberá qual a cor das peças dispostas no tabuleiro. Essa função retornará o vetor de médias de cada canal de cor, a posição de cada peça em forma de vetor e em forma de matriz 8x8, representando o tabuleiro. Além disso, retornará duas imagens, uma sendo a captura atual da webcam e outra de fundo branco com um quadrado localizado nos centroides de cada casa com as cores de suas respectivas peças. Essas imagens são geradas para que seja possível compará-las com a matriz que representa o tabuleiro real e suas peças. Como exemplificação, a imagem utilizada na função calibrar() foi usada na
...