Pergunta

Eu encontrei um exemplo Para acessar uma webcam em C#. O exemplo usa o DirectShow.net biblioteca. Tentei entender o código, mas até agora a única coisa que eu conseguia descobrir é que, de alguma forma, o UserControl chama o DirectShow para desenhar diretamente para a superfície do controle do usuário.

Quero acessar cada quadro e colocá -lo em um objeto de bitmap. Como posso saber quando um novo quadro chegou? Como posso capturar esse novo quadro em um objeto de bitmap?

Isso pode ser simples de responder se você souber o seu caminho DirectShow.net.

Foi útil?

Solução

Você precisará usar o Isamplegrabber Interface Existem muitos exemplos C ++ na rede sobre como usá -la, ela fornecerá dados o formato RAW RGB que você pode alimentar a classe Bitmap.

Há também uma biblioteca de código aberto chamado Sem toque Ele tem um projeto no código que leva uma webcam e oferece um retorno de chamada toda vez que um novo quadro chegou.

Outras dicas

Certifique -se de dar uma olhada neste artigo - http://www.codeproject.com/articles/125478/versatile-webcam-c-library ; É baseado no componente de captura de webcam sem toque (mas sem outras peças do SDK sem toque).

Se você achou sem toque útil, mas gostaria de usar o mais recente DirectX SDK, tente obter a fonte mais recente após alteração 31008 em http://tochless.codeplex.com/sourcecontrol/listdownloadablecommits.aspx

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