Rozszerzona rzeczywistość na podstawie kamery internetowej

Witam,

ciekawi mnie jak fachowo nazywa się taki bajer oraz przede wszystkim jak to działa:

([oficjalna strona, demo](http://www.toyota.co.uk/cgi-bin/toyota/bv/generic_editorial.jsp?navRoot=/toyota_1024_root&nodiv=TRUE&fullwidth=TRUE&forceText=TRUE&edname=iQ_reality&id=iQ_reality&catname=%2Ftoyota_1024_root%2Fmain_nav%2FpageTopNav%2FZone+iQ&zone=Zone+iQ&menuid=316070&sr=Mall)) [Przykład 2](http://www.gry-online.pl/S016.asp?ID=13514)

Drukujemy obrazek, po czym podstawiamy pod kamerę, a na ekranie w tym miejscu pokazuje się model 3d. Magia? :smiley:

Interesuje mnie przede wszystkim strona techniczna: zdaję sobie sprawę, że analiza każdej klatki obrazu pixel po pixelu nie da w tym przypadku żadnych efektów. Jak więc komputer odgaduje miejsce takiego modelu 3d i dodatkowo oblicza jak ma się obrócić?

z góry dziękuję :wink:

Zwykłe wyszukiwanie wzorca w obrazie (każda klatka animacji traktowana osobno). Kiedy już wyodrębni się go z tła, należy znaleźć jego punkty charakterystyczne i dzięki nim wyliczyć orientację i tę samą nadać narzucanemu obiektowi. Tyle.

http://studierstube.icg.tugraz.at/handh … itplus.php

Nie do końca rozumiem w jaki sposób wyszukuje się wzorzec na obrazie. Mógłby mi ktoś łopatologicznie wytłumaczyć? ^^

Różnie, to zależy od konkretnych wymagań. Czasami wystarczy śledzić kolor, czasami potrzebne są bardziej zaawansowane klasyfikatory. Czasem wyszukuje się po prostu zadany wzorzec np. w taki sposób: http://docs.opencv.org/doc/tutorials/im … ching.html po więcej teorii trzeba by prawdopodobnie zajrzeć do literatury (np. Bradski, Szeliski ew. po polsku Tadusiewicz którego można pobrać tutaj).

To już jest cały dział nauki na styku informatyki i matematyki, a nie coś do łopatologicznego wyjaśniania w jednym poście.

Jak wspomniano wyżej teoria stojąca za w ogólności rozpoznawaniem obrazów jest dość obszerna i złożona. W bardzo dużym uproszczeniu polega to na wyszukaniu z obrazu pewnych punktów kluczowych i zbudowaniu wokół obszaru tego punktu tzw. deskryptora. Jest to opis charakterystycznych obszarów w obrazie który będzie podobny lub taki sam dla różnych obrazów zawierających te same lub podobne obiekty. Jeśli nie potrzebujesz zagłębiać się jak to działa a jedynie chcesz użyć w praktyce to zainstaluj sobie bibliotekę OpenCV. Jeśli dobrze pamiętam są tam przykłady do porównywania obrazów za pomocą deskryptora SURF który powinien w miarę rozsądnie działać do pracy z kamerą. Tu masz przykład jaki możesz osiągnąć z OpenCV