Equipe: Alan José de Moura Alana Brito Ana Cecília Martins Marcelo Costa Maria Marcela Meira Lins...
-
Upload
giulia-borge -
Category
Documents
-
view
221 -
download
0
Transcript of Equipe: Alan José de Moura Alana Brito Ana Cecília Martins Marcelo Costa Maria Marcela Meira Lins...
Equipe:Alan José de Moura
Alana BritoAna Cecília Martins
Marcelo CostaMaria Marcela Meira Lins
Onde achar a apresentação: www/~mmsml
Um pouco sobre a Realidade Aumentada
Um pouco sobre o ARToolKit Ferramentas necessárias Processos de desenvolvimento de
aplicação utilizando ARToolKit Exemplos
Enriquecimento do real com o virtual Presença do mundo real (não há
imersão total no mundo virtual) Uso de marcadores. Ou não (MAR).
Tecnologia ainda em pleno desenvolvimento, ganhando espaço e com grandes perspectivas
Tecnologia que se adapta a nossa maneira natural de interação
Ao invés de mudar nossa maneira de ver o mundo, ela acrescenta.
Biblioteca para construção de aplicativos baseados em Realidade Aumentada (baseada em marcadores!)
Desenvolvida em C/C++
Possibilita a utilização de uma ou mais câmeras para captura da imagem
Fácil calibragem de Câmera Reconhecimento de múltiplos
marcadores Compatível com diversos Sistemas
Operacionais Distribuída com código fonte completo
Ambiente de Desenvolvimento das linguagens C e C++ (e.g. Microsoft Visual Studio)
Entrada de Vídeo (WebCam) Biblioteca para comunicação com a
entrada de vídeo (DSVideoLib) Para sintetizar as imagens: Glut e
OpenGL Para compatibilidade entre câmeras e
placas de aquisição de vídeo: DirectX Runtime
Inicialização
1. Inicializações do glut e OpenGL2. Abrir um input de vídeo3. Armazenar tamanho do vídeo capturado4. Carregar os parâmetros intrínsecos da câmera (retorno do passo de calibragem)5. Modificar o tamanho do vídeo nos parâmetros da câmera6. Inicializar os parâmetros da câmera (especificados da estrutura de parâmetros da câmera)7. Carregar o bitmap do marcador especificado como parâmetro8. Inicializar a biblioteca gsub
arVideoOpen
arVideoInqSize
arParamLoad
arParamChangeSize
arInitCParam
arLoadPatt
argInit()
Loop Principal
1. Captura um frame de vídeo2. Define o contexto de renderização (2D ou 3D), definindo uma projeção ortográfica3. Mostra a imagem na tela como um bitmap4. Detecta os marcadores5. Captura próximo frame de vídeo – tal situação só pôde ocorrer porque todas as informações necessárias já foram coletadas
6. Verifica se o objeto deve ou não ser visível7. Realiza as transformações da câmera em relação à posição dos marcadores8. Desenha os objetos virtuais no marcador
arVideoGetImage
argDrawMode2D
argDispImagearDetectMark
er
arVideoCapNext
Vide algoritmo no
exemplo simpleTest.c
arGetTransMat
draw
Finalização
1. Finaliza a captura de vídeo2. Fecha a ligação com a fonte de vídeo3. Fecha a biblioteca gsub
arVideoCapStop
arVideoClose
argCleanup
É desejável saber os parâmetros da câmera para posicionar com mais precisão os objetos virtuais sobre a cena real
Principais propriedades extraídas da calibragem: • distorções de lente, • ponto central da câmera• distância focal da câmera
Técnicas:• Dois passos: maior precisão• Um passo: mais prático
Imprimir a imagem calib_dist.pdf Rodar o exemplo calib_dist.exe Capturar imagem e marca os 24
pontos em ordem Repetir o último procedimento de 5 a
10 vezes em diferentes ângulos Clicar no botão direito do mouse para
calcular Distorsão ESCREVER EM ALGUM CANTO OS
RESULTADOS OBTIDOS
Imprimir a imagem calib_cparam.pdf Rodar calib_cparam.exe Capturar imagem e define as linhas
horizontais e verticais seqüencialmente. Repetir o último procedimento 5 vezes,
afastando, a cada interação, a câmera em 10 cm.
Definir o nome do arquivo como camera_para.dat
Substituir o arquivo criado no diretório bin/Data
Apenas executa a segunda parte do processo de calibrar em dois passos.
O arquivo usado para a calibragem é o calib_camera2.exe
Edite em um editor de imagens o arquivo blankPatt.gif, localizado no diretório patterns
Crie uma imagem em preto e branco do padrão desejado que caiba no meio deste quadrado, os melhores padrões são assimétricos e sem muitos detalhes
Imprima a imagem Vá para o diretório bin e execute o programa
mk_patt. Entre com o nome do arquivo camera_para.dat
(este é o nome default para o arquivo de parâmetros de câmera)
O programa abrirá então uma janela de vídeo
Coloque o padrão a ser treinado em uma superfície plana em boas condições de iluminação.
Coloque a câmera de vídeo apontando diretamente para o padrão e vire-o até que um quadrado com dois lados vermelhos e dois lados verdes apareça em torno do padrão
Rotacione a câmera até que os lados vermelhos do quadrado estejam no topo e à esquerda do quadrado na imagem de vídeo
Clique no botão esquerdo do mouse.
Escolha um nome de arquivo para o padrão. é gerada uma imagem em mapa de bits do padrão que é criado e copiado para este arquivo.
• Outros podem ser treinados simplesmente apontando a câmera para novos padrões e repetindo o processo, ou clicando o botão direito do mouse para sair da aplicação.
• É preciso copiar os novos arquivos de padrões no diretório bin/Data antes de usá-los.
www.cin.ufpe.br/~mmsml Baixar e descompactar o ARToolKit.zip
Quem ficar até o final da aula poderá ganhar uma surpresa!!
Infelizmente, como o computador que vocês estão logados não tem webcams, terão que utilizar um vídeo gravado por nós para realizar os testes.
Execute o vídeo presente no diretório: …\dsvl\media\opa.avi
Alterar centro do marcador
Movimentar o objeto virtual sem usar funções OpenGL
Mudar o objeto virtual do marcador
Documentação: http://www.hitl.washington.edu/artoolkit/
API: http://artoolkit.sourceforge.net/apidoc/index.html