Combinando Direct3D, Axis para fazer múltipla IP GUI câmera

votos
0

Agora, o que estou tentando fazer é fazer uma nova GUI, essencialmente, um software usando o DirectX (mais exato, Direct3D), que a exibição streaming de imagens de câmeras IP da Axis.

Por enquanto eu percebi que o fluxo para o programa inteiro seria assim: 1. Obter o programa Axis para obter streaming de imagens 2. Passe as imagens para o programa Direct3D. 3. Apresentar o programa, na tela.

Atualmente eu fiz um aplicativo Direct3D um pouco básico que carrega e quadros de exibição de vídeo a partir de vídeos AVI (para testes). Eu não sei como carregar imagens diretamente de vídeos usando DirectX, então eu usei OpenCV para salvar quadros do vídeo e ter DX enviá-los para cima. Muito devagar.

Agora eu tenho algumas coisas claras: 1. Como obter um programa Axis que funciona em C ++ (vai olhar para cima exemplos mais tarde, prolly não grande negócio) 2. Como fazer upload de imagens diretamente do programa de câmera IP da Axis.

Portanto, rapazes, você tem quaisquer recomendações ou sugestões sobre como fazer o meu trabalho programa de forma mais eficiente? Qualquer coisa é só me avisar.

Publicado 25/08/2009 em 10:41
fonte usuário
Em outras línguas...                            


3 respostas

votos
0

Para capturar imagens de Axis cames você pode usar ipsi c ++ biblioteca: http://sourceforge.net/projects/ipsi/

Ele pode ser usado para capturar imagens e câmera de controle de zoom e rotação (se disponível).

Respondeu 25/08/2009 em 12:04
fonte usuário

votos
0

Eu uso atualização no local de texturas Direct3D (usando IDirect3DTexture9::LockRect) e ele funciona muito rápido. Que parte de seu programa funciona lento?

Respondeu 25/08/2009 em 11:20
fonte usuário

votos
0

Bem, você pode achar que é mais rápido usar o DirectShow e adicionar um processador personalizado na extremidade que, direta, copia os dados de vídeo descompactados diretamente a uma textura Direct3D.

Seu vale buffer duplo essa textura. ou seja, ter textura 0 Resultados e textura 1 sendo carregado também e então trocar a 2 sobre quando um novo quadro está disponível (ou seja, exibição textura 1 ao carregar a textura 0).

Desta forma, você pode dissociar a taxa de quadros de vídeo a partir da taxa de quadros de renderização que faz quadros perdidos um pouco mais fácil de manusear.

Respondeu 25/08/2009 em 11:04
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more