Levelhead - Um jogo Print & Play (realidade aumentada)

Levelhead é um inovador e fantástico jogo, criado pelo designer e programador Julian Oliver. O jogo open source é baseado em um cubo real que utiliza recurso da tecnologia de realidade aumentada para reproduzir o cubo virtual no monitor. É um novo conceito: print e play!

[ Hits: 56.445 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 30/03/2009 | Blog: http://assuntonerd.com.br


Introdução: O jogo!



O jogo Levelhead, desenvolvido por Julian Oliver, utiliza a técnica de realidade aumentada, definida como a sobreposição de objetos virtuais tridimensionais gerados por computador no ambiente real por meio de algum dispositivo tecnológico (webcam, por exemplo). A computação gráfica, em junção de algoritmos de visão computacional, é o principal fator que permite o desenvolvimento desta técnica.

Além da sobreposição dos objetos virtuais, a realidade aumentada permite o manuseio/interação destes objetos com os próprios movimentos das mãos. Assistindo o vídeo, parece até ficção científica, mas não é. É apenas um software livre: basta compilar, imprimir e jogar.

Levelhead é também conhecido como o cubo mágico do século 21; ele utiliza cada face de um cubo para projetar os cômodos do labirinto. Cada cômodo possui uma ligação lógica com outro cômodo, assim podemos conduzir o personagem até a saída.

O jogo utiliza memória espacial, onde o jogador deve passar por 3 fases (cada fase pertence a um cubo). Atualmente existem 3 níveis interligados entre si. O desafio é conduzir o personagem até a saída dos 3 cubos no menor tempo possível.
Linux: Levelhead : um jogo Print & Play (Realidade Aumentada).
O jogo não é comercializado e pode ser obtido gratuitamente na internet para montagem. O projeto foi desenvolvido na plataforma Debian GNU/Linux. A seguir, um vídeo demonstrando a operacionalidade do jogo (uma verdadeira obra-prima). Aos interessados na demonstração do sistema em eventos de software livre, entrem em contato para um possível agendamento.
Fontes de pesquisa:
    Próxima página

Páginas do artigo
   1. Introdução: O jogo!
   2. Download e dependências
   3. Instalação: A gincana...
Outros artigos deste autor

Gerando em tempo real efeito de voz robotizada

OwnCloud : Crie a sua própria nuvem - Alternativa ao Dropbox

Festival: O sintetizador de voz para Linux

LibreOffice em nuvem - Crie seu servidor Web Office

ReactOS: O irmão open-source do Microsoft Windows NT 4.0

Leitura recomendada

Garena no Wine

Top 10 melhores jogos FPS para Linux

Jogo Portal e outros games da Valve no Linux via Steam

Instalando o DOOM III no Linux

Como fazer um viciante e cativante servidor de Quake2 CTF

  
Comentários
[1] Comentário enviado por dastyler em 30/03/2009 - 09:39h

Cabelo...simplesmente achei demais o Levelhead e finalmente vi uma utilidade para webcam..huahuahaua!!
Vou instalar ele em casa e testar!!
Belo artigo!!

[]´s

[2] Comentário enviado por julianjedi em 30/03/2009 - 11:08h

Muito interessante mesmo... me parece que ele utiliza uma especie de código de barras tridimensional.. para identificar as faces do cubo, achei demais.. uma ideia brilhante que futuramente poderá ser aplicada em muitas coisas . Demais.. só o cabelo mesmo para achar essas coisas ^^

[3] Comentário enviado por dastyler em 30/03/2009 - 13:46h

Gsoatrai de saber aonde encontro as imagens do cubo fisico para baixar e montar o mesmo.

PS.: Já descobri no proprio artigo...favor ignorar!!

Vlw!!

[]´s

[4] Comentário enviado por cesar em 30/03/2009 - 15:12h

Boa cabelo,

Show de Bola

[]'s

[5] Comentário enviado por pinduvoz em 30/03/2009 - 17:37h

Esse autor descobre as coisas mais inusitadas.

Vale a pena ler o que ele posta aqui no VOL.

Parabéns!

[6] Comentário enviado por andreuebe em 30/03/2009 - 21:17h

Fantástico!

[7] Comentário enviado por armctec em 30/03/2009 - 22:37h

Excelente contribuição para o mundo VOL!!!!!

Mais uma inovação tecnologica!!!!

[8] Comentário enviado por sandrocarva em 31/03/2009 - 16:54h

Belo artigo Cabelo,
Muito interessante essa tecnologia.

Mas a instalação esta complicada.. :S

ARToolKit e ARToolKitPlus, não está tao simples como no artigo..

Ainda tentando...

[9] Comentário enviado por fabioarnoni em 31/03/2009 - 22:49h

Caramba !! Fantástico !! A primeira vez que eu vi um jogo com uma tecnologia parecida com essa foi pra PS3, The eye of judgment. Um jogo que você utiliza cartas para jogar, interessante também !

http://www.youtube.com/watch?v=Bhlq_GhYGsM

Acho que daqui um tempo essa tecnologia vai fazer parte de uma boa porcentagens de games por ai.


Parabéns pelo artigo , muito bom !!!

[10] Comentário enviado por junior.tgz em 01/04/2009 - 08:46h

onde nos podi arrumar esses cubo da pra fazer em casa mesmo ?

[11] Comentário enviado por skycrash em 01/04/2009 - 11:45h

Opa, excelente artigo..

Depois de suar a camisa aqui para instalar no Gentoo.. estou acho que no ultimo problema hehehe
executo o /usr/games/bin/levelhead

Aparece
Using supplied video config string [v4lsrc device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp24,width=640,height=480 ! identity name=artoolkit ! fakesink].
libARvideo: GStreamer 0.10.20

** ERROR **: libARvideo: failed to put GStreamer into PAUSE state!
aborting...
./levelhead: line 12: 14527 Abortado /usr/games/bin/levelHead 0 1 640 480 0

Eu so achei no google um cara falando deste problema, e ele mudo a resolucao na config ali do levelhead e funcionou.. mas ja tentei e nada..

[12] Comentário enviado por vinirj em 02/04/2009 - 01:20h

Oi cabelo, ótimo post... vc poderia por gentileza hospedar o ARToolkitPlus 2.72.1 para baixarmos , estar indisponível o download dessa versão para linux... vlw aguardo resposta...


[13] Comentário enviado por Ademaralves em 02/04/2009 - 17:51h

Boa Tarde!!

Parabéns Cabelo, cada vez que passa tranzendo novidades bem criativas.

Só gostaria de saber onde eu encontro as imagens do cubo fisico pra eu poder baixar e montar o meu cubo.

[14] Comentário enviado por keikun007 em 09/04/2009 - 18:06h

quando tento executar o make no Artoolkit 2.71.1 retorna

bash: make: command not found

a mesma coisa acontece com o

ArtoolkitPlus 2.1.1

outra dúvida é se é possível utilizar os pacotes openscenegraph osgcal dos repositórios (Debian)

[15] Comentário enviado por dorivaljunior em 02/05/2009 - 22:07h

Instalei o ARToolKit sem nenhum problema, porém no teste recebo o erro:


djunior@djunior-laptop:/opt/ARToolKit/bin$ ./simpleTest
Using config string from environment [v4l2src device=/dev/video1 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24 ! identity name=artoolkit ! fakesink].
libARvideo: GStreamer 0.10.22

** ERROR **: libARvideo: failed to put GStreamer into PAUSE state!

aborting...
Cancelado


Conforme a documentação esta variável de ambiente está correta, porém não encontro mais material para tirar dúvidas. Alguém obteve o caminho da solução deste problema?

minha webcam é ID 093a:2620

[16] Comentário enviado por Bardes em 28/08/2009 - 19:15h

Eu achei um mirror do Artoolkit 2.71.1:
http://sourceforge.net/settings/mirror_choices?projectname=artoolkit&filename=artoolkit/2.72.1/ARToo...

Infelizmente não consigo compila-lo... aparece o segunte erro:

gsub.c:8:23: error: GL/glut.h: Arquivo ou diretório inexistente
gsub.c:76: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘glid’
gsub.c:91: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘maxRectangleTextureSize’
gsub.c: In function ‘argInit2’:
gsub.c:160: error: ‘GLUT_DOUBLE’ undeclared (first use in this function)
gsub.c:160: error: (Each undeclared identifier is reported only once
gsub.c:160: error: for each function it appears in.)
gsub.c:160: error: ‘GLUT_RGBA’ undeclared (first use in this function)
gsub.c:160: error: ‘GLUT_DEPTH’ undeclared (first use in this function)
gsub.c:160: error: ‘GLUT_STENCIL’ undeclared (first use in this function)
gsub.c:166: error: ‘GLUT_SCREEN_WIDTH’ undeclared (first use in this function)
gsub.c:167: error: ‘GLUT_SCREEN_HEIGHT’ undeclared (first use in this function)
.
.
.
um monte de erros
.
.
.
gsub.c:1259: error: ‘GLfloat’ undeclared (first use in this function)
gsub.c:1259: error: expected ‘;’ before ‘zoom’
gsub.c:1262: error: ‘zoom’ undeclared (first use in this function)
gsub.c:1294: error: ‘GL_RGB_EXT’ undeclared (first use in this function)
gsub.c:1294: error: ‘GL_UNSIGNED_BYTE’ undeclared (first use in this function)
gsub.c: In function ‘argDispHalfImageTex’:
gsub.c:1359: error: ‘GL_TEXTURE_2D’ undeclared (first use in this function)
gsub.c:1360: error: ‘GL_TEXTURE’ undeclared (first use in this function)
gsub.c:1362: error: ‘GL_MODELVIEW’ undeclared (first use in this function)
gsub.c:1364: error: ‘glid’ undeclared (first use in this function)
gsub.c:1369: error: ‘GL_UNPACK_ROW_LENGTH’ undeclared (first use in this function)
gsub.c:1387: error: ‘GL_RGB_EXT’ undeclared (first use in this function)
gsub.c:1387: error: ‘GL_UNSIGNED_BYTE’ undeclared (first use in this function)
gsub.c:1444: error: ‘GL_COMPILE_AND_EXECUTE’ undeclared (first use in this function)
gsub.c:1499: error: ‘GL_QUADS’ undeclared (first use in this function)
gsub.c: In function ‘argLineSeg’:
gsub.c:1553: error: ‘GL_LINES’ undeclared (first use in this function)
gsub.c: In function ‘argLineSegHMD’:
gsub.c:1576: error: ‘GL_LINES’ undeclared (first use in this function)
gsub.c: In function ‘argInitStencil’:
gsub.c:1588: error: ‘GL_STENCIL_TEST’ undeclared (first use in this function)
gsub.c:1590: error: ‘GL_STENCIL_BUFFER_BIT’ undeclared (first use in this function)
gsub.c:1596: error: ‘GL_ALWAYS’ undeclared (first use in this function)
gsub.c:1597: error: ‘GL_REPLACE’ undeclared (first use in this function)
gsub.c:1598: error: ‘GL_LINES’ undeclared (first use in this function)
gsub.c:1634: error: ‘GL_KEEP’ undeclared (first use in this function)
gsub.c: In function ‘argSetStencil’:
gsub.c:1650: error: ‘GL_STENCIL_TEST’ undeclared (first use in this function)
gsub.c:1651: error: ‘GL_ALWAYS’ undeclared (first use in this function)
gsub.c:1652: error: ‘GL_KEEP’ undeclared (first use in this function)
gsub.c:1656: error: ‘GL_EQUAL’ undeclared (first use in this function)
make[2]: ** [../../libARgsub.a(gsub.o)] Erro 1
make[2]: Saindo do diretório `/home/paulo/Desktop/ARToolKit/lib/SRC/Gl'
make[1]: ** [all] Erro 2
make[1]: Saindo do diretório `/home/paulo/Desktop/ARToolKit/lib/SRC'
make: ** [all] Erro 2

[17] Comentário enviado por Bardes em 29/08/2009 - 18:55h

Outro detalhe, o GStreamer bagunçou todo meu sistema: o chease não reconhece mais a webcam, o gerenciador de audio foi pro saco, agora to usando alsa e... bom que eu tenha visto é isso, mas como posso resolver isso?

[18] Comentário enviado por markintux em 28/09/2009 - 09:18h

estou com o mesmo problema que o Bardes...

[19] Comentário enviado por markintux em 28/09/2009 - 10:49h

faz alguns dias que eu estou tentando instalar isso... vamos ver se alguem me ajuda.

Estava com o mesmo problema que o bardes, resolvi instalando os pacotes, libglut3-dev e libglut3.

Agora estou com o seguinte erro:

(cd lib/SRC; make -f Makefile)
make[1]: Entrando no diretório `/home/markin/Desktop/ARToolKit/lib/SRC'
(cd AR; make -f Makefile)
make[2]: Entrando no diretório `/home/markin/Desktop/ARToolKit/lib/SRC/AR'
cc -c -O -I/usr/X11R6/include -I../../../include mAlloc.c
ar rs ../../libAR.a mAlloc.o
rm -f mAlloc.o
cc -c -O -I/usr/X11R6/include -I../../../include mFree.c
ar rs ../../libAR.a mFree.o
rm -f mFree.o
cc -c -O -I/usr/X11R6/include -I../../../include mAllocDup.c
ar rs ../../libAR.a mAllocDup.o
rm -f mAllocDup.o
cc -c -O -I/usr/X11R6/include -I../../../include mDup.c
ar rs ../../libAR.a mDup.o
rm -f mDup.o
cc -c -O -I/usr/X11R6/include -I../../../include mAllocTrans.c
ar rs ../../libAR.a mAllocTrans.o
rm -f mAllocTrans.o
cc -c -O -I/usr/X11R6/include -I../../../include mTrans.c
ar rs ../../libAR.a mTrans.o
rm -f mTrans.o
cc -c -O -I/usr/X11R6/include -I../../../include mAllocMul.c
ar rs ../../libAR.a mAllocMul.o
rm -f mAllocMul.o
cc -c -O -I/usr/X11R6/include -I../../../include mMul.c
ar rs ../../libAR.a mMul.o
rm -f mMul.o
cc -c -O -I/usr/X11R6/include -I../../../include mAllocInv.c
ar rs ../../libAR.a mAllocInv.o
rm -f mAllocInv.o
cc -c -O -I/usr/X11R6/include -I../../../include mInv.c
ar rs ../../libAR.a mInv.o
rm -f mInv.o
cc -c -O -I/usr/X11R6/include -I../../../include mSelfInv.c
ar rs ../../libAR.a mSelfInv.o
rm -f mSelfInv.o
cc -c -O -I/usr/X11R6/include -I../../../include mAllocUnit.c
ar rs ../../libAR.a mAllocUnit.o
rm -f mAllocUnit.o
cc -c -O -I/usr/X11R6/include -I../../../include mUnit.c
ar rs ../../libAR.a mUnit.o
rm -f mUnit.o
cc -c -O -I/usr/X11R6/include -I../../../include mDisp.c
ar rs ../../libAR.a mDisp.o
rm -f mDisp.o
cc -c -O -I/usr/X11R6/include -I../../../include mDet.c
ar rs ../../libAR.a mDet.o
rm -f mDet.o
cc -c -O -I/usr/X11R6/include -I../../../include mPCA.c
ar rs ../../libAR.a mPCA.o
rm -f mPCA.o
cc -c -O -I/usr/X11R6/include -I../../../include vAlloc.c
ar rs ../../libAR.a vAlloc.o
rm -f vAlloc.o
cc -c -O -I/usr/X11R6/include -I../../../include vDisp.c
ar rs ../../libAR.a vDisp.o
rm -f vDisp.o
cc -c -O -I/usr/X11R6/include -I../../../include vFree.c
ar rs ../../libAR.a vFree.o
rm -f vFree.o
cc -c -O -I/usr/X11R6/include -I../../../include vHouse.c
ar rs ../../libAR.a vHouse.o
rm -f vHouse.o
cc -c -O -I/usr/X11R6/include -I../../../include vInnerP.c
ar rs ../../libAR.a vInnerP.o
rm -f vInnerP.o
cc -c -O -I/usr/X11R6/include -I../../../include vTridiag.c
ar rs ../../libAR.a vTridiag.o
rm -f vTridiag.o
cc -c -O -I/usr/X11R6/include -I../../../include paramGet.c
ar rs ../../libAR.a paramGet.o
rm -f paramGet.o
cc -c -O -I/usr/X11R6/include -I../../../include paramDecomp.c
ar rs ../../libAR.a paramDecomp.o
rm -f paramDecomp.o
cc -c -O -I/usr/X11R6/include -I../../../include paramDistortion.c
ar rs ../../libAR.a paramDistortion.o
rm -f paramDistortion.o
cc -c -O -I/usr/X11R6/include -I../../../include paramChangeSize.c
ar rs ../../libAR.a paramChangeSize.o
rm -f paramChangeSize.o
cc -c -O -I/usr/X11R6/include -I../../../include paramFile.c
ar rs ../../libAR.a paramFile.o
rm -f paramFile.o
cc -c -O -I/usr/X11R6/include -I../../../include paramDisp.c
ar rs ../../libAR.a paramDisp.o
rm -f paramDisp.o
cc -c -O -I/usr/X11R6/include -I../../../include arDetectMarker.c
ar rs ../../libAR.a arDetectMarker.o
rm -f arDetectMarker.o
cc -c -O -I/usr/X11R6/include -I../../../include arGetTransMat.c
ar rs ../../libAR.a arGetTransMat.o
rm -f arGetTransMat.o
cc -c -O -I/usr/X11R6/include -I../../../include arGetTransMat2.c
ar rs ../../libAR.a arGetTransMat2.o
rm -f arGetTransMat2.o
cc -c -O -I/usr/X11R6/include -I../../../include arGetTransMat3.c
ar rs ../../libAR.a arGetTransMat3.o
rm -f arGetTransMat3.o
cc -c -O -I/usr/X11R6/include -I../../../include arGetTransMatCont.c
ar rs ../../libAR.a arGetTransMatCont.o
rm -f arGetTransMatCont.o
cc -c -O -I/usr/X11R6/include -I../../../include arLabeling.c
ar rs ../../libAR.a arLabeling.o
rm -f arLabeling.o
cc -c -O -I/usr/X11R6/include -I../../../include arDetectMarker2.c
ar rs ../../libAR.a arDetectMarker2.o
rm -f arDetectMarker2.o
cc -c -O -I/usr/X11R6/include -I../../../include arGetMarkerInfo.c
ar rs ../../libAR.a arGetMarkerInfo.o
rm -f arGetMarkerInfo.o
cc -c -O -I/usr/X11R6/include -I../../../include arGetCode.c
ar rs ../../libAR.a arGetCode.o
rm -f arGetCode.o
cc -c -O -I/usr/X11R6/include -I../../../include arUtil.c
arUtil.c: In function ‘arGetVersion’:
arUtil.c:46: warning: incompatible implicit declaration of built-in function ‘exit’
ar rs ../../libAR.a arUtil.o
rm -f arUtil.o
make[2]: Saindo do diretório `/home/markin/Desktop/ARToolKit/lib/SRC/AR'
(cd ARMulti; make -f Makefile)
make[2]: Entrando no diretório `/home/markin/Desktop/ARToolKit/lib/SRC/ARMulti'
cc -c -O -I/usr/X11R6/include -I../../../include arMultiReadConfigFile.c
ar rs ../../libARMulti.a arMultiReadConfigFile.o
rm -f arMultiReadConfigFile.o
cc -c -O -I/usr/X11R6/include -I../../../include arMultiGetTransMat.c
ar rs ../../libARMulti.a arMultiGetTransMat.o
rm -f arMultiGetTransMat.o
cc -c -O -I/usr/X11R6/include -I../../../include arMultiActivate.c
ar rs ../../libARMulti.a arMultiActivate.o
rm -f arMultiActivate.o
make[2]: Saindo do diretório `/home/markin/Desktop/ARToolKit/lib/SRC/ARMulti'
(cd Gl; make -f Makefile)
make[2]: Entrando no diretório `/home/markin/Desktop/ARToolKit/lib/SRC/Gl'
cc -c -O -I/usr/X11R6/include -I../../../include gsub.c
ar rs ../../libARgsub.a gsub.o
rm -f gsub.o
cc -c -O -I/usr/X11R6/include -I../../../include gsubUtil.c
ar rs ../../libARgsubUtil.a gsubUtil.o
rm -f gsubUtil.o
cc -c -O -I/usr/X11R6/include -I../../../include gsub_lite.c
gsub_lite.c: In function ‘arglCameraFrustum’:
gsub_lite.c:659: warning: passing argument 1 of ‘arParamDecompMat’ from incompatible pointer type
gsub_lite.c: In function ‘arglCameraFrustumRH’:
gsub_lite.c:718: warning: passing argument 1 of ‘arParamDecompMat’ from incompatible pointer type
ar rs ../../libARgsub_lite.a gsub_lite.o
rm -f gsub_lite.o
make[2]: Saindo do diretório `/home/markin/Desktop/ARToolKit/lib/SRC/Gl'
(cd VideoGStreamer; make -f Makefile)
make[2]: Entrando no diretório `/home/markin/Desktop/ARToolKit/lib/SRC/VideoGStreamer'
cc -c -O -I/usr/X11R6/include -I../../../include video.c
video.c:16:18: error: glib.h: Arquivo ou diretório inexistente
video.c:19:21: error: gst/gst.h: Arquivo ou diretório inexistente
video.c:28: error: expected specifier-qualifier-list before ‘GstElement’
video.c:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cb_have_data’
video.c:95: error: expected ‘)’ before ‘*’ token
video.c: In function ‘ar2VideoOpen’:
video.c:186: error: ‘GError’ undeclared (first use in this function)
video.c:186: error: (Each undeclared identifier is reported only once
video.c:186: error: for each function it appears in.)
video.c:186: error: ‘error’ undeclared (first use in this function)
video.c:188: error: ‘GstPad’ undeclared (first use in this function)
video.c:188: error: ‘pad’ undeclared (first use in this function)
video.c:188: error: ‘peerpad’ undeclared (first use in this function)
video.c:189: error: ‘GstXML’ undeclared (first use in this function)
video.c:189: error: ‘xml’ undeclared (first use in this function)
video.c:190: error: ‘GstStateChangeReturn’ undeclared (first use in this function)
video.c:190: error: expected ‘;’ before ‘_ret’
video.c:196: warning: initialization makes pointer from integer without a cast
video.c:213: warning: incompatible implicit declaration of built-in function ‘exit’
video.c:216: error: ‘AR2VideoParamT’ has no member named ‘videoBuffer’
video.c:236: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:238: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:244: error: ‘AR2VideoParamT’ has no member named ‘probe’
video.c:244: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:246: error: ‘AR2VideoParamT’ has no member named ‘probe’
video.c:252: error: ‘AR2VideoParamT’ has no member named ‘probe’
video.c:256: error: ‘cb_have_data’ undeclared (first use in this function)
video.c:273: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:273: error: ‘GST_STATE_PAUSED’ undeclared (first use in this function)
video.c:283: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:283: error: ‘GST_STATE_CHANGE_FAILURE’ undeclared (first use in this function)
video.c:294: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:294: error: ‘GST_STATE_PLAYING’ undeclared (first use in this function)
video.c:297: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:304: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:307: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c: In function ‘ar2VideoClose’:
video.c:328: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:328: error: ‘GST_STATE_NULL’ undeclared (first use in this function)
video.c:331: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c: In function ‘ar2VideoGetImage’:
video.c:340: error: ‘AR2VideoParamT’ has no member named ‘videoBuffer’
video.c: In function ‘ar2VideoCapStart’:
video.c:346: error: ‘GstStateChangeReturn’ undeclared (first use in this function)
video.c:346: error: expected ‘;’ before ‘_ret’
video.c:349: error: ‘_ret’ undeclared (first use in this function)
video.c:349: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:349: error: ‘GST_STATE_PLAYING’ undeclared (first use in this function)
video.c:351: error: ‘GST_STATE_CHANGE_ASYNC’ undeclared (first use in this function)
video.c:355: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:356: error: ‘GST_CLOCK_TIME_NONE’ undeclared (first use in this function)
video.c:356: error: ‘GST_STATE_CHANGE_FAILURE’ undeclared (first use in this function)
video.c: In function ‘ar2VideoCapStop’:
video.c:371: error: ‘AR2VideoParamT’ has no member named ‘pipeline’
video.c:371: error: ‘GST_STATE_NULL’ undeclared (first use in this function)
video.c: In function ‘ar2VideoCapNext’:
video.c:378: error: ‘TRUE’ undeclared (first use in this function)
video.c: In function ‘ar2VideoInqSize’:
video.c:385: error: ‘AR2VideoParamT’ has no member named ‘width’
video.c:386: error: ‘AR2VideoParamT’ has no member named ‘height’
make[2]: ** [../../libARvideo.a(video.o)] Erro 1
make[2]: Saindo do diretório `/home/markin/Desktop/ARToolKit/lib/SRC/VideoGStreamer'
make[1]: ** [all] Erro 2
make[1]: Saindo do diretório `/home/markin/Desktop/ARToolKit/lib/SRC'
make: ** [all] Erro 2

Creio que seja por alguma coisa da glib:

video.c:16:18: error: glib.h: Arquivo ou diretório inexistente
video.c:19:21: error: gst/gst.h: Arquivo ou diretório inexistente

problema é que já instalei milhares de pacotes do glib, e o arquivo glib.h consta em /usr/include/glib-2.0/

Alguem me da uma luz??

[20] Comentário enviado por markintux em 28/09/2009 - 14:26h

não está dando mais o erro acima, compilei o ARToolKit já testei e está funcionando.

O problema agora é o ARToolKitPlus... uso deste modo a variável:

export ARTKP=/home/markin/Desktop/ARToolKitPlus/

quando executo o make dá o seguinte erro:

cd src && make -f Makefile
make[1]: Entrando no diretório `/home/markin/Desktop/ARToolKitPlus/src'
g++ -c -mtune=pentium4 -march=pentium4 -msse2 -msse -O0 -fPIC -I/usr/share/qt3/mkspecs/default -I. -I../include -o ../build/linux/debug/DLL.o DLL.cpp
In file included from ../include/ARToolKitPlus/TrackerImpl.h:693,
from ../include/ARToolKitPlus/TrackerSingleMarkerImpl.h:48,
from DLL.cpp:41:
../include/ARToolKitPlus/TrackerImpl.h: In static member function ‘static bool ARToolKitPlus::TrackerImpl<__PATTERN_SIZE_X, __PATTERN_SIZE_Y, __PATTERN_SAMPLE_NUM, __MAX_LOAD_PATTERNS, __MAX_IMAGE_PATTERNS>::calcCameraMatrix(const char*, int, int, ARFloat, ARFloat, ARFloat*)’:
../include/ARToolKitPlus/TrackerImpl.h:636: error: invalid use of member ‘ARToolKitPlus::TrackerImpl<__PATTERN_SIZE_X, __PATTERN_SIZE_Y, __PATTERN_SAMPLE_NUM, __MAX_LOAD_PATTERNS, __MAX_IMAGE_PATTERNS>::screenWidth’ in static member function
../include/ARToolKitPlus/../../src/TrackerImpl.cxx:449: error: from this location
../include/ARToolKitPlus/TrackerImpl.h:636: error: invalid use of member ‘ARToolKitPlus::TrackerImpl<__PATTERN_SIZE_X, __PATTERN_SIZE_Y, __PATTERN_SAMPLE_NUM, __MAX_LOAD_PATTERNS, __MAX_IMAGE_PATTERNS>::screenHeight’ in static member function
../include/ARToolKitPlus/../../src/TrackerImpl.cxx:449: error: from this location
make[1]: ** [../build/linux/debug/DLL.o] Erro 1
make[1]: Saindo do diretório `/home/markin/Desktop/ARToolKitPlus/src'
make: ** [sub-src] Erro 2


Alguem se habilita a responder? ;/

Abraços

[21] Comentário enviado por bardes em 13/10/2009 - 23:29h

Alguem consegue me explicar como compilar o Gstreamer? Tem um monte de arquivos: good, ugly, bad........ quais e como eu tenho que instalar?

[22] Comentário enviado por bardes em 10/11/2009 - 19:51h

(Acho que) Consegui instalar o Gstreamer e o ARToolKit, mas na hora de instalar o ARToolKitPlus tenho o mesmo erro que o markintux... alguem sabe o que pode ser?

[23] Comentário enviado por cabelo em 21/12/2009 - 00:05h

Bardes e Markintux,

Acredito que voces estão utilizando o GCC 4.4.

Se sim, Edite o arquivo:
[Path]/ARToolKitPlus/include/ARToolKitPlus/TrackerImpl.h

e remova a declaração static na linha 201.

Linha antiga: static bool calcCameraMatrix(const char* nCamParamFile, int nWidth, int nHeight,
Linha nova: bool calcCameraMatrix(const char* nCamParamFile, int nWidth, int nHeight,

Abraços.

[24] Comentário enviado por bernabap em 31/01/2010 - 19:28h

Sera que alguem pode me dizer como conseguiram testar a funcionalidade da biblioteca Artoolkit executando os comandos abaixo:

$ export ARTOOLKIT_CONFIG="v4l2src ! video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! xvimagesink ! identity name=artoolkit"
$ cd bin/
$ ./videoTest

eu sempre tenho esse erro:

[root@levelhead][~/LevelHead/ARToolKit/bin]# ./videoTest
Using config string from environment [v4l2src ! video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! xvimagesink ! identity name=artoolkit].
libARvideo: GStreamer 0.10.19

(<unknown>:4753): GStreamer-CRITICAL **: gst_pad_get_negotiated_caps: assertion `GST_IS_PAD (pad)' failed

** ERROR **: libARvideo: failed to put GStreamer into PAUSE state!

aborting...
Aborted

Eu vi que o skycrash e dorivaljunior tambem tiveram os mesmo problemas, como voces resolveram?

Segue alguns dados:

#lsusb
Bus 004 Device 002: ID 062a:0201 Creative Labs Defender Office Keyboard (K7310) S Zodiak KM-9010
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 045e:00f5 Microsoft Corp. LifeCam VX-3000
Bus 003 Device 002: ID 045e:0053 Microsoft Corp. Optical Mouse
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 07ab:fcdf Freecom Technologies
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

#dmesg
[ 4017.318978] videoTest[3446]: segfault at 8 ip 0804d865 sp bfa20dc0 error 4 in videoTest[8048000+a000]
[ 5024.605202] usb 3-1: new full speed USB device using ohci_hcd and address 3
[ 5024.824706] usb 3-1: configuration #1 chosen from 1 choice
[ 5024.841198] usb 3-1: New USB device found, idVendor=045e, idProduct=00f5
[ 5024.841198] usb 3-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 5024.841198] usb 3-1: Product: USB camera
[ 5025.033107] Linux video capture interface: v2.00
[ 5025.084623] sn9c102: V4L2 driver for SN9C1xx PC Camera Controllers v1:1.47pre49
[ 5025.084623] usb 3-1: SN9C105 PC Camera Controller detected (vid:pid 0x045E:0x00F5)
[ 5025.420630] usb 3-1: No supported image sensor detected for this bridge
[ 5025.672035] usbcore: registered new interface driver sn9c102
[ 5025.732147] usbcore: registered new interface driver snd-usb-audio
[ 5106.268380] videoTest[3692]: segfault at 8 ip 0804d865 sp bfa55ba0 error 4 in videoTest[8048000+a000]

Obrigado

[25] Comentário enviado por r.nunes em 01/10/2010 - 17:19h

Show por essa eu não esperava

[26] Comentário enviado por Edy em 11/11/2010 - 11:10h

Tentei instalar no Ubuntu 10.10 e não tive sucesso.

Alguém teve sucesso no Ubuntu 10.10?

[27] Comentário enviado por jonnison em 20/04/2011 - 13:58h

Pessoal tive o mesmo problema que o Bardes e Markintux,comomentarios 20 e 21, segui a orientaçao do cabelo, comentario 23, e alterei a linha 201, aquele erro não ocorreu mais, inclusive o arquivo DLL.o foi criado no diretorio [Path]/build/linux/debug, porem ocorreu outro erro na compilação do ARToolKitPlus, segue a saida do terminal:
jonnison@jonnison-desktop:~/Aplicativos/ARToolKit/ARToolKitPlus$ make
cd src/ && make -f Makefile
make[1]: Entrando no diretório `/home/jonnison/Aplicativos/ARToolKit/ARToolKitPlus/src'
g++ -c -mtune=pentium4 -march=pentium4 -msse2 -msse -g -fPIC -I/usr/local/Trolltech/Qt-4.7.1/mkspecs/linux-g++ -I. -I../include -o ../build/linux/debug/rpp.o librpp/rpp.cpp
librpp/rpp.cpp: In function ‘void rpp::robust_pose(rpp::real_t&, rpp::mat33_t&, rpp::vec3_t&, const rpp::vec3_array&, const rpp::vec3_array&, rpp::options_t)’:
librpp/rpp.cpp:753: error: ‘memcpy’ was not declared in this scope
make[1]: ** [../build/linux/debug/rpp.o] Erro 1
make[1]: Saindo do diretório `/home/jonnison/Aplicativos/ARToolKit/ARToolKitPlus/src'
make: ** [sub-src-make_default] Erro 2


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts