ARtoolkit

ARtoolkit

Сообщение MiBBiM » 01 фев 2010, 18:45

ARtoolkit - кроссплатформенная библиотека для ускоренного создания дополненной реальности, включает в себя механизмы распознавания маркеров и 3д обработки.
скачать: http://www.hitl.washington.edu/artoolkit/download/
проекты: http://www.hitl.washington.edu/artoolkit/projects/
примеры:


полный список фич:
Код: Выделить всё
A simple framework for creating real-time augmented reality applications
A multiplatform library (Windows, Linux, Mac OS X, SGI)
Overlays 3D virtual objects on real markers ( based on computer vision algorithm)
A multi platform video library with:
multiple input sources (USB, Firewire, capture card) supported
multiple format (RGB/YUV420P, YUV) supported
multiple camera tracking supported
GUI initalizing interface
A fast and cheap 6D marker tracking (real-time planar detection)
An extensible markers patterns approach (number of markers fct of efficency)
An easy calibration routine
A simple graphic library (based on GLUT)
A fast rendering based on OpenGL
A 3D VRML support
A simple and modular API (in C)
Other language supported (JAVA, Matlab)
A complete set of samples and utilities
A good solution for tangible interaction metaphor
OpenSource with GPL license for non-commercial usage

лицензия:
Код: Выделить всё
MPORTANT NOTICE REGARDING YOUR RIGHT TO USE ARTOOLKIT:

ARToolKit is made available freely for non-commercial use under the GNU General Public License. Commercial licenses to a professional implementation of ARToolKit are available for users for whom the GPL is not suitable, or who require a higher level of support, or who require customization or other specialist modifictions. Commercial licenses are administered by ARToolworks, Inc., Seattle, WA, USA.
http://www.hitl.washington.edu/artoolkit/license.html

применения:
  • гироскоп для балансера
  • система курсовой устойчивости вертолета
  • позиционирование лайнтрейсара
  • что-нибудь ещё
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: ARtoolkit

Сообщение Angel71 » 01 фев 2010, 22:24

:angel: на пмж в закладки, классная штука
мне вот этот пример очень понравился
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: ARtoolkit

Сообщение MiBBiM » 02 фев 2010, 00:39

собрал пример из поставки, что понравилось - быстрый захват картинки с камеры, субъективно быстрее opencv. но картинка перевернута кверху ногами =). а вот распознавание немного недотягивает, сбивается даже из-за банальной тени. может оказаться, что качество распознавания низкое из-за некалиброванной камеры, а может и из-за не очень удачного глифа - с тонким текстом; в общем, нужно копаться.
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: ARtoolkit

Сообщение MiBBiM » 04 фев 2010, 00:03

так и не смог развернуть изображение. переписываю пример на рельсы opencv:highgui захвата
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: ARtoolkit

Сообщение MiBBiM » 04 фев 2010, 10:40

пока писал понял как перевернуть =) и ещё наткнулся на грабли - highgui и opengl могут выводить изображения только в разные окна, т.е. создаешь окно opengl, но тогда будь добр перевести iplimage в формат текстуры и вывести на сцене, или создаешь highgui окно, но тогда нужно перевести проекцию сцены в iplimage.
а перевод делается просто: как оказалось, библиотека захвата (DSVL) хранит изображение в формате bgra, тогда можно просто или вручную поменять строки, или создать хидер для iplimage и прикастовать (ARUint8 *) в iplimage.imagedata, после чего банально вызвать cvflip для получившейся структуры.
Код: Выделить всё
IplImage *bgra;
...
bgra = cvCreateImageHeader(cvSize(xsize, ysize), IPL_DEPTH_8U,  4);
...
dataPtr = (ARUint8 *)arVideoGetImage()  // получение изображения
bgra->imageData = (char *) dataPtr;
cvFlip(bgra);
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript


Вернуться в Компьютерное зрение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5