Pergunta

Preciso fazer um aplicativo .NET onde devo detectar um objeto específico que o usuário está segurando, usando uma câmera.

Se o objeto deve ter algumas características específicas para que possa ser facilmente reconhecido e detectado no espaço circundante, dê -me algumas dicas (ex um cubo verde?)

Qual seria a melhor técnica/.NET Library a ser usada? Preciso traduzir em tempo real o movimento da mão do usuário e exibir uma animação na tela de acordo.

Foi útil?

Solução

Para detecção de movimento: encontre as boas características (cantos, ou seja) e alimente-os em um algoritmo de fluxo óptico de Lucas-Kanada. O OpenCV tem essas funções, mas não sei se o OpenCvNet tem ou não.

Se o seu objeto tiver um recurso específico, como ser o mais verde da cena, por exemplo, você pode usar o limite. Caso contrário, você precisará usar técnicas de reconhecimento de padrões.
pseudo-código:

threshold1 = 128
threshold2 = 64
foreach Pixel p in Picture
 if (p.Green > 128) and (p.Red < threshold2) and (p.Blue < threshold2)
   outputImage.CurrentPixel = 255
else
   outputImage.CurrentPixel = 0

Aqui você terá sua imagem quais verdes são mostrados como brancos e o resto é preto

Outras dicas

Você está procurando Aforge.net.
Veja também Este artigo.

Eu sugeriria chegar a acelerar OpenCV, Emgu CV's A porta .NET que eu uso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top