Neste documento apresento a ARToolKit, uma biblioteca criada para facilitar o desenvolvimento de aplicativos com o recurso de realidade aumentada. Ou seja, a sobreposição de objetos virtuais e tridimensionais gerados por computador junto ao ambiente real.
Introdução: O que é Realidade Aumentada e ARToolKit
Em 30/03/2009 disponibilizei um documento sobre o jogo Levelhead, um jogo de realidade aumentada. Define-se realidade aumentada como a sobreposição de objetos virtuais e tridimensionais, gerados por computador junto ao ambiente real, por meio de algum dispositivo tecnológico de vídeo captura.
A Realidade Aumentada disponibiliza uma interação sem necessidade de treinamento, pois o usuário pode trazer para o ambiente real objetos virtuais, incrementando e aumentando a visão do mundo real. Isto somente é possível com técnicas de visão computacional junto a computação gráfica.
Os objetos virtuais introduzidos no ambiente real podem ser manipulados com as próprias mão, assim proporcionando ao usuário uma interação inovadora e atrativa. Veja no vídeo a seguir um exemplo de interatividade com a tecnologia de realidade aumentada.
Logo, Realidade Aumentada é um sistema que:
combina elementos virtuais com o ambiente real;
é interativa e tem processamento em tempo real;
é concebida em três dimensões.
ARToolKit
ARToolKit é uma biblioteca escrita em C, baseada em software livre e desenvolvida pelo Dr. Hirokazu Kato, utilizada atualmente por pesquisadores do Laboratório Tecnológico de Interface Humana, na Universidade de Washington. Criada para a construção de aplicações de Realidade Aumentada, a biblioteca ARToolKit utiliza recursos de visão computacional e processamento de imagens para prover os recursos de RA.
A complexidade do desenvolvimento das aplicações de Realidade Aumentada é calcular precisamente, em tempo real, o ponto de observação do usuário, para somente então projetar corretamente os objetos virtuais no mundo real. Este é o principal objetivo da biblioteca ARToolKit, ou seja, rastrear rapidamente e calcular a posição real da câmera e de seus marcadores de referência possibilitando que o programador acrescente objetos virtuais sobre estes marcadores no mundo real sem magia negra.
Para tudo isto funcionar (a biblioteca ARToolKit) primeiramente é preciso transformar o quadro capturado no vídeo ao vivo em uma imagem com valores binários (P&B). Em seguida ele examina essa imagem para encontrar regiões quadradas. Ao encontrar um quadrado, a imagem no seu interior é capturada e comparada com algumas imagens pré-cadastradas. Encontrando alguma similaridade com a imagem pré-cadastrada, a biblioteca utiliza o tamanho conhecido do quadrado e a orientação do padrão encontrado para calcular a posição real da câmera em relação à posição real do marcador.
[2] Comentário enviado por markintux em 08/09/2009 - 16:19h
Mais um excelente artigo!
Uma dúvida: Existe algum site que mostra quais as webcams compativeis com v4l1 e v4l2? Esses softwares que você mostra, por exemplo o eviacam é compativel com qual driver? 1 ou 2? Se alguem souber agradeço!
[4] Comentário enviado por slipky em 09/09/2009 - 12:18h
Estava atrás disso, mas ainda não consegui fazer funcionar aqui, pode me ajudar? minha cam funciona apenas com o V4L2, e não esta compilando após aplicar o patch...
[5] Comentário enviado por cleysinhonv em 09/09/2009 - 13:22h
Olá Cabelo,
Há bastante tempo tenho buscado ler os seus artigos, são ótimos bem escritos e autênticos, estava precisando de uma documentação dessa por que estou pretendendo fazer um trabalho de conclusão de curso envolvendo Realidade Aumentada e Sistemas de Informação Geográfica. Bom espero que eu tenha um bom êxito, usando essa documentação.
[10] Comentário enviado por laercio.avelino em 12/04/2010 - 22:49h
Olá, eu adorei o tutorial, mas achei que as pessoas tiveram poucos problemas. Assim que ainda que outros tenham contribuído na sequencia, ainda não fui contemplado. Assim eu pergunto, qndo esses procedimentos não dão certo? :p
Vejamos:
1. Quando eu descompactei o Artoolkit, entrei no diretório e tentei executar o ./configure. Não foi possível, mas consegui o mesmo procedimento com ./Configure.
2. Color conversion should use x86 assembly (choose 'n' for 64bit systems)?
Enter : n
[eu não uso sistema 64bits, selecionei "Y".] »»Terei vacilado nesta parte?««
3. $ export ARTOOLKIT_CONFIG="-dev=/dev/video0 -palette=YUV420P -width=640 -height=480"
criei essa variável ambiental e como não me deu retorno algum, supus ter dado tudo ok! Até o próximo ponto:
4. $ cd bin/
$ ./videoTest
usuário@usuário:~/Downloads/artoolkit/ARToolKit/bin$ ./videoTest
bash: ./videoTest: Arquivo ou diretório não encontrado
»»» Foi aí que percebi que 1. não deu certo pq não segui os procedimentos; ou 2. ainda assim não seria possível pq não uso sistema 64bits. «««
De todas maneiras sou grato por sua ajuda, estamos em contato.
[11] Comentário enviado por igortx em 07/07/2010 - 09:49h
me encontrei no mesmo problema do rapaz acima... a variavel nao gera nada e nao consegui encontrar o videotest em bin... na verdade nao achei nada la :(
[12] Comentário enviado por rondinele_prado em 27/10/2010 - 23:23h
Olá, tem um bom tempo que estou tentando compilar a ARToolKit no linux, mas ainda não consegui, o videoTest não está na pasta bin, e quando uso uma outra versão ele diz:
No protocol specified
No protocol specified
freeglut (./simpleTest2): failed to open display ':0.0'
[14] Comentário enviado por charleskgb em 13/05/2011 - 11:55h
É necessario executar o make pra vc ter o videoTest na pasta bin. Se o make der erro durante a execucao, so vai instalando os pacotes do GStreamer que faltam e mais algumas coisinhas que o erro do make especifica.... usa o synaptic que ja empurra um bocado de pacotes necessarios.
Compila o make sem erros que o videoTest fica disponivel.
[16] Comentário enviado por Magrela_ em 19/06/2012 - 15:09h
Ollá Cabelo, estou tentando calibrar minha câmera para o artoolkit. segui os passos da instalação que vc postou com a ajuda de um amigo. Porém para os passos desse tópico quando eu clico na imagem da câmera com o direito ou com o esquerdo não acontece nada. o que será ue está acontecendo.
Detalhes: instalei o artoolkit em uma pasta nomeada Artoolkit 2.72.1 e ela aparece no menu LOCAIS, porém para abrir a pasta usei o comando:
# cd Artoolkit\ 2.72.1/
mas esse comando retorna isso como resposta: bash: cd: Artoolkit: Arquivo ou diretório não encontrado
eu só consigo abri a pasta e o vídeo teste com a pasta que eu descompatei em Documentos sempre seguindo os caminho:
$ cd Documentos
$cd Artolkit\ 2.72.1/
$cd bin
$./videoTest
Dessa forma abre mas nao consigo congelar a imagem da câmera como ensinado no seu tópico.
Fico grata se me responder com máximo de urgência!
OBS: querendo desenhevolver minha monografia com reliadade aumentada usando artoolkit!
[17] Comentário enviado por Magrela_ em 19/06/2012 - 16:28h
onde eu encontro e como executo pela LC o programa calib_dist? Deve ser essse o meu problema com a câmera conforme mencionei no post anterior logo acima.
[18] Comentário enviado por Magrela_ em 03/07/2012 - 00:24h
Gente eu pensei que podia ter executado algum passo erroneamente, então resolvi remover a pasta descompactada na minha pasta pessoal e reiniciar o processo , daí deu tudo certim, o nome da pasta ao abrir o diretório deve ser observando os caracteres maiúsculos e munúculos no nome do diretório salvo auomáticamente quando a gente baixa o artoolkit pelo $ wget . daí foi só começar o proximo passo de calibração.
é só seguir direitinho os passos do tutorial 1 que dá tudo certo. Acho que eu tava executando alguma coisa erroneamente na hora de congelar a imagem, mas depois que reinstalei deu tudo certim!
Agora é só alegria e estudar como desenvolver os prograaminhas. no proprio artoolkit tem um diretório que traz uns exemplos nao sei informar agora a localização dos mesmos.
dê uma olhada no artigo do segunto tópico dessa pesquisa: