O que eu estive a fazer foi um trabalho para a cadeira de Visão Computacional que também é destinado a uma possível ida à conferência DSAI2009, se for aceite pelo concelho científico da mesma. Era um sistema de interface para idosos, crianças ou deficientes com dificuldades motoras, por exemplo tetraplégicos em que os utilizadores podem controlar o rato do computador utilizando apenas ou a cabeça ou a mão através de gestos estáticos intuitivos sem ser necessário qualquer configuração para saber se vai utilizar a cabeça ou a mão. Basicamente o processo é o seguinte:
Imagem a cores 320x288 RGB -> Imagem a cores normalizada RGB -> Filtro de cor de pele RGB -> Binarização da imagem -> Filtragem de Ruido (2 filtros) -> Detecção de Blobs -> Análise dos Blobs seleccionados para identificação do gesto
O maior problema nisto é a detecção de Blobs (manchas de uma determinada tonalidade) que geralmente são algoritmos que levam muito tempo mesmo. Tive que elaborar um algoritmo que fizesse pretendido rapidamente. Quanto à linguagem utilizada, foi tudo feito em C. Para processamento de imagem convém utilizar sempre linguagens de baixo nível (não tão baixo como o assembly, porque é demasiado confuso). As linguagens de alto nível geralmente acabam por perder algum poder de processamento.
Em princípio daqui a uns tempos vou fazer um vídeo do funcionamento do sistema e assim que puder posso po-lo por aqui para teres uma ideia do que se pode fazer com o pc e com a webcam