Дополненная реальность для определения руки сердца с помощью веб-камеры - PullRequest
3 голосов
/ 14 ноября 2011

Возможно ли это?

Я учусь, и мне нужны советы и ссылки на учебники, которые могут мне помочь.

Augmented Reality

Спасибо!

Ответы [ 3 ]

1 голос
/ 22 декабря 2012

Я только что сделал похожую программу, используя haarcascades с opencv.Я уверен, что это легко может быть связано с ARToolKit.Проверьте мой учебник.http://danielscvtutorials.blogspot.com/p/impress-that-special-someone-with.html

Мне удалось привязать ARToolKit к OpenCv с помощью этого кода.По какой-то причине ARToolKit хотел использовать ARGB вместо BGR или RGBA.

ARUint8 rgbTmp[3];
for(int y=0; y < image_opencv->height; y++) {
    for(int x=0; x < image_opencv->width; x++) {
        rgbTmp[0] = image_opencv->imageData[image_opencv->widthStep * y + x*3]; // B
        rgbTmp[1] = image_opencv->imageData[image_opencv->widthStep * y + x*3 + 1]; // G
        rgbTmp[2] = image_opencv->imageData[image_opencv->widthStep * y + x*3 + 2]; // R
        frame->imageData[frame->widthStep * y + x*4] = 255; // A
        frame->imageData[frame->widthStep * y + x*4 + 1] = rgbTmp[2]; // R
        frame->imageData[frame->widthStep * y + x*4 + 2] = rgbTmp[1]; // G
        frame->imageData[frame->widthStep * y + x*4 + 3] = rgbTmp[0]; // B
    }
}
ARUint8 *arImage = (ARUint8 *)frame->imageData; // This is very fast conversion
1 голос
/ 14 ноября 2011

Очень простой пример можно найти здесь (хотя во flash): http://www.adobe.com/devnet/flash/articles/augmented_reality.html

он использует papervision, flar и flex sdk, чтобы делать то, что вам нужно. Если вы знакомы с ActionScript, вы можете запустить его с собственные изображения и модели за пару часов (изменение схемы, которую необходимо обнаружить, потребовало около 10 минут, чтобы выяснить, как это сделать)

В этом примере используется распознавание образов на черно-белых изображениях, поэтому он также должен распознавать фигуры.

В комплекте есть инструмент, который может создать файл шаблона из изображения, все, что вам нужно сделать, это вырезать форму сердца из вашего изображения, преобразовать его в черно-белый и сделать узор.

Поскольку ваша веб-камера создает цветное видео, вам может потребоваться преобразовать его в оттенки серого. чтобы работать.

Я думаю, что для того, чтобы заставить его работать, обычно требуется много настроек, но это не должно быть невозможным

0 голосов
/ 14 ноября 2011

Этого можно достичь с помощью FLARToolKit или Flash Augmented Reality Toolkit.

http://www.libspark.org/wiki/saqoosha/FLARToolKit/en

Adobe совместно с Джоном Майером работает над проектом, который можно увидеть на этом видео YouTube:

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

... или распечатайте значок и демонстрацию в прямом эфире с веб-камерой по адресу:

http://www.johnmayer.com/ar/

...