Perspectief van webcam wijzigen

Status
Niet open voor verdere reacties.

Maximvdw

Gebruiker
Lid geworden
7 feb 2009
Berichten
921
Hallo,

Ik heb een vraagje, graag zou ik een bordcamera(software) maken. Een camera die een scherm van een powerpoint, of gewoon een schoolbord/boek
kan vergroten. Maar dit dan met gewoon een simpele HD webcam.

Nu, ik zou er graag voor willen zorgen dat het beeld recht getrokken word. Dus als je bijvoorbeeld rechts in een auditorium zit, dat het toch
lijkt alsof je ervoor zit.

Maar mijn enigste zorg is of C# hier ooit snel genoeg voor kan zijn om een live webcam feed recht te trekken. Want al bij al moet de uitleg van een docent
tegelijk komen , met wat hij op een powerpoint (etc) toont. (mag een max marge van 1,5 sec op zitten)

Op apps zoals ScannerPro die een afbeelding van een bord kunnen rechttrekken duurt dit altijd een paar seconden. Maar ik wil het dus op een PC doen,
en het liefts in C#

Kan iemand mij hier informatie over geven of dit mogelijk zal zijn, en of ik ergens speciaal rekening mee moet houden. Ik weet wel hoe ik een
webcam enzo kan oproepen, maar mijn vraag is hoe ik een live webcam beelden kan omvormen.

Naar mijn idee is dit enkel de eerste keer berekenen, daarna kan de berekening gewoon gebruikt worden.
Dus de plaats vanwaar ik film, is dezelfde als waar ik blijf staan

Dus dit is mijn voorstel, is dit haalbaar/mogelijk? :
- Frame per frame een filter toepassen die het beeld rechttrekt. De berekening van de filter word in het begin gedaan
Zou dit kunnen met AForge.NET


EDIT: een beetje zoals dit, maar dan live:
http://through-the-interface.typepa...ar-algebra-straightening-out-perspective.html

PS: Het idee om dit te maken is eigenlijk omdat de camera's/software redelijk duur zijn voor mensen die het nodig hebben. Terwijl naar mijn mening
een simpele webcam die je achterstevoren op je laptopscherm hangt, evengoed kan zijn met de juiste tools (contrasten, belichting, perspectief en gebruiksvriendelijkheid)

Met Vriendelijke Groeten,
Maxim
 
Laatst bewerkt:
Ik zie de post nu pas en kan eigenlijk ook niet veel direct toevoegen, maar ik vermoed dat als je ook maar een kans wil maken zoiets te doen je waarschijnlijk openGL of CUDA zult moeten aanspreken.

een laag kwaliteit webcam = 640x480 = 300000 beeldpunten. minimaal 24 refreshes per seconde = 7mln pixels/s . 6 transforms per pixel - 42mln transforms. 60 instructies per transform (gokje) = 2,6 miljard instructies / s. Nagenoeg onhaalbaar op een fatsoenlijke manier op een CPU. Echter, videokaarten hebben dit soort instructie potentieel wel. Zelf geen ervaring met cuda / opengl maar ik denk dat als je ook maar enige kans van slagen wil hebben (realtime) dat je toch op zoiets uit gaat komen.

Anyway beetje mosterd ver na de maaltijd, maar misschien geeft het nog wat perspectief
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan