Sign in to follow this  
slmgc

Augmented Reality example in Python

Recommended Posts

slmgc    168
Hello,

two years ago, when I was experimenting with python and pygame, I've stumbled upon pygame's camera module and decided to write some kind of a simple augmented reality application (like [b]Microsoft's Kinect[/b], but much simplier) to have some programming practice. After a few dedicated days, I've finally completed it. [b]AR example[/b] targets an object with a marker and allows you to interact with virtual objects: bouncing balls, button-like interface elements, etc. Here is a screenshot:

[img]http://pygame.org/thumb/44b802581a8001bad884ad59cb5efcae.png[/img]

You can run it under Linux and Windows (not sure about OSX) out of the box. It requires python 2.5.x-2.7.x and pygame 1.9.x.

[b]AR example for Window and Linux[/b]: [url="https://bitbucket.org/slmgc/ar-example/downloads/ar-example-0.3.1.zip"]https://bitbucket.or...ample-0.3.1.zip[/url]
Just install python and pygame [b](windows users don't need pygame[/b], I've included pygame into the package), unpack ar-example-0.3.1.zip into some folder and click on "augmented.py" to run the program.

[b]ActivePython 2.7 for Windows[/b]: [url="http://www.activestate.com/activepython/downloads/thank-you?dl=http://downloads.activestate.com/ActivePython/releases/2.7.2.5/ActivePython-2.7.2.5-win32-x86.msi"]http://downloads.act...5-win32-x86.msi[/url]

[b]Instruction[/b]:[list=1]
[*]Take an object of a simple shape and solid color.
[*]Fixate an object's color in a color picker.
[*]Change the chosen color's RGB components so only the targeted object would be visible on screen.
[*]After you are ready, switch from the calibration to the targeting mode.
[*]If the result is not good enough, switch back to the calibration mode and repeat the above steps.
[/list]

Program's source code is under GPL 2. VideoCapture by Markus Gritsch is under LGPL 2.1.

P.S. A couple of days ago I've decided to write a new version of AR example using proper techniques such as: modular design, event-driven architecture with loosely-coupled components, multithreading, separate config file, etc. New source code is under public domain.

If you are interested, you can get AR example's source code from my project's page at pygame.org: [url="http://pygame.org/project-AR+example-1622-.html"]http://pygame.org/pr...mple-1622-.html[/url]
Or you can grab it directly from my mercurial repository at bitbucket: [url="https://bitbucket.org/slmgc/ar-example"]https://bitbucket.org/slmgc/ar-example[/url]

P.P.S. Any feedback, questions, suggestions are most welcomed. Edited by slmgc

Share this post


Link to post
Share on other sites
slmgc    168
I've [b]added pygame[/b] library to the package for [b]windows users[/b], so they don't need to download it to run AR example, [b]just install python 2.7[/b]

Share this post


Link to post
Share on other sites
Sign in to follow this