IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Adam Ježek
Tvůrce
Avatar
Adam Ježek:5.4.2015 20:26

Zdravim,
mám pixelovou obrazovku, 30x9 pixelů. Nad ní visí infačervená kamera, která ji zabírá. Když kamera zahlídne infračervený bod(například z LEDky infrapera), dá mi jeho souřadnice z pohledu kamery. (viz obrázek)
Jde mi o to zjistit, jaká je to souřadnice na obrazovce. Například při konfiguraci bych zjistil, že kamera má obrazovku na:

roh                kamera     obrazovka
levý horní roh:   X10, Y140    X0, Y9
pravý horní roh:  X290, Y140   X30, Y9
levý spodní roh:  X30, Y10     X0, Y0
pravý spodní roh: X270, Y10    X30, Y0

A potom mi kamera sejme bod, který bude na souřadnicích kamery třeba X150, Y75 a nějak to přepočítat, abych dostal souřadnice pro obrazovku, který budou třeba X15, Y4.
Největší problém mi při tom přepočtu souřadnic dělá to, že kamera visí nad obrazovkou, tudíž je to zkosený.
Jak teda vypočítat ty souřadnice pro obrazovku?
Dík

Editováno 5.4.2015 20:28
Odpovědět
5.4.2015 20:26
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
qwertyW
Tvůrce
Avatar
Odpovídá na Adam Ježek
qwertyW:5.4.2015 21:35

Vypocitas kolme vzdálenosti bodu od "odvesen" lichobezniku , čím dostaneš poměr, který pote rozsiris. Dostavas teda sírkovou pozici bodu. A pokud vis jaké je vzdálenost kamery a uhel, tak to dopocitas snad sínovou vetou

Nahoru Odpovědět
5.4.2015 21:35
Programuji, tedy jsem.
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na qwertyW
Adam Ježek:6.4.2015 16:54

problem je ten, ze nevim uhel a vzdalenost kamery (technicky vzato, pokazde bude jiny )
jedinne co vim jsou souradnice rohu, ktery uzivatel ukaze pri konfiguraci

Editováno 6.4.2015 16:55
Nahoru Odpovědět
6.4.2015 16:54
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
coells
Tvůrce
Avatar
Odpovídá na Adam Ježek
coells:6.4.2015 17:48

Čistě ze zájmu, proč píšeš do fóra, místo aby ses na to zeptal například učitele ve škole? Je to jen prostorová trigonometrie, měl by být schopen ti s tím poradit?

A druhá otázka, proč nevíš vzdálenost kamery? Pokud znáš zorný úhel kamery, musíš znát i vzdálenost od plátna. Tím by sis zjednodušil život.

V opačném případě musíš najít inverzní prostorovou rotaci a normalizovat obraz, nic lehkého k odvození pro středoškoláka. Takové vzorce budou vypadat podobně, jako tady http://www.itnetwork.cz/…4c240b524931- viz moje odpověď na konci.

 
Nahoru Odpovědět
6.4.2015 17:48
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na coells
Adam Ježek:6.4.2015 20:53

Učitele bych se asi moh zeptat, jen mě to vůbec nenapadlo :D

Kamera není napevno, tudíž úhel i vzdálenost bude pokaždé jiná. Zorný úhel bych sice moh zjistit, ale to znamená, že budu vědět minimální vzdálenost, skutečná může bejt větší, obrazovka nůže být třeba na kraji zorného pole kamery, nemusí být ve středu.

Panasonic má kamerku, kterou nasměruješ na plátno s promítaným obrazem, spustíš konfiguraci, infraperem klikneš na rohy + pár dalších bodů ve středu a jejich software (ta aplikace se jmenuje SPII Driver nebo tak nějak, hrál sem si s tim ve škole) je schopen z těch pár bodů vypočítat pozici pera na obraze a ve spojení s další aplikací (myslím lightpen) z normálního obrazu udělá interaktivní tabuli. Nezáleží na vzdálenosti, úhlu, pozici, prostě ničem, jenom aby kamera zabírala celou obrazovku a ono si to už dopočítá, takže to určitě nějak jde.
Teď jsem to chtěl převést do menšího měřítka, místo nějakých 1366x768 co máme ve škole na tabuli jen 30x9 pixelů

Nahoru Odpovědět
6.4.2015 20:53
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Eldan
Člen
Avatar
Eldan:7.4.2015 15:11

Potřebuješ si na začátku nějak označit kraje obrazovky (třeba říct uživateli aby perem klepnul na rohy obrazovky. Z toho si pak uděláš představu o tom jak to kamera vidí a můžeš interpolovat souřadnice

Nahoru Odpovědět
7.4.2015 15:11
Unobfuscated executable == free source code
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Eldan
Adam Ježek:7.4.2015 15:30

Ty okraje znam, uzivatel uz klepnul, ted de o to, jak vypocitat ty souradnice.
Neco uz mam, za chvili uvidim jaknto dopadne

Nahoru Odpovědět
7.4.2015 15:30
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Adam Ježek
Tvůrce
Avatar
Adam Ježek:7.4.2015 15:51

Tak jsem našel na netu pár let starý kódy po někom, kdo řešil stejnej problém, po pár hodinách sem pochopil i co se tam zhruba děje :D Teď už jenom bejt matematicky na takový úrovni, abych chápal ty výpočty :D
Kdyby někoho zajímalo... http://www.itnetwork.cz/dev-lighter/565

Nahoru Odpovědět
7.4.2015 15:51
Počkej chvíli, poradím se s křišťálovou koulí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.