Uma biblioteca para o desenvolvimento de aplicações de projeção interativa - Alves, Maicon Robson da Silva (2018)
Desde a adoção do par teclado/monitor como dispositivo padrão de entrada e saída, diversas novas formas de interação com computadores foram criadas, sendo que uma das mais promissoras atualmente é a projeção interativa. Com a projeção interativa, é possível exibir uma imagem e transmitir instruções a um computador através de reconhecimento de mãos, objetos, detecções de toques, sombras, gestos, entre outros. Com isso, torna-se possível o desenvolvimento de aplicações que interpretem entradas de uma câmera ou outro dispositivo auxiliar, bem como exibam, com o auxílio de um projetor, imagens sensíveis a estas instruções sobre superfícies planas ou curvas. Embora soluções deste tipo já existam individualmente, combiná-las para desenvolver aplicações de projeção interativa ainda é uma tarefa que demanda conhecimento profundo sobre os algoritmos envolvidos e a escrita de muitas linhas de código. O objetivo deste trabalho é facilitar o desenvolvimento de aplicações de projeção interativa, através do desenvolvimento de uma biblioteca que combine diferentes soluções de entrada e saída, reunidas em funcionalidades acessíveis e fáceis de serem utilizadas. A biblioteca desenvolvida utiliza recursos disponíveis na biblioteca de visão computacional OpenCV. Funções já existentes foram unidas a algoritmos encontrados na literatura da área para compor novas funções direcionadas para aplicações de projeção interativa. Como resultados obtidos neste trabalho, temos uma biblioteca desenvolvida em C++, baseada em OpenCV e implementações próprias, que integra os recursos desta com os recursos que implementamos, no sentido de simplificar o desenvolvimento de aplicações de projeção interativa. Por fim, avaliamos sua validade, desenvolvendo uma aplicação piloto para demonstrar o uso das suas funcionalidades. Com o uso desta biblioteca, foi possível construir uma aplicação de projeção interativa com um número menor de linhas de código e uma menor complexidade. Dessa forma, é possibilitado ao usuário uma diminuição nos esforços de programação para integrar projetor e câmera na captura de comandos e geração de imagem, respectivamente, em aplicações interativas. Como trabalhos futuros, temos em vista a otimização dos métodos desenvolvidos para detecção da interação com a projeção, bem como a criação de novos métodos para ampliar a cobertura dos requisitos descobertos durante a pesquisa bibliográfica.