WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [java] projekt realisierbar? (http://www.wcm.at/forum/showthread.php?t=121134)

moorhahn 06.01.2004 18:40

[java] projekt realisierbar?
 
wäre mit einer webcam und einem laserpointer eine steuerung realisierbar?
also eine webcam ist ausgerichtet auf eine weiße platte, mit dem laserpointer zeigt man dann irgendwo auf die weiße platte, die webcam nimmt ständig die bilder auf, in einem java-programm werden diese bilder dann ständig untersucht und je nachdem wo der rote punkt ist, wird irgendwie reagiert, oder halt mitgezeichnet.

könnte sowas funktionieren?

btw: hat wer a webcam die er nimmer braucht :D ?

Who-T 07.01.2004 08:25

ja

startpunkte java media framework (jmf) für capturing

http://java.sun.com/products/java-me...ameAccess.java

du hängst dich in der accessFrame des PostAccessCodecs rein und kannst damit auf die pixel des images zugreifen.
dann suchst nach rot

Code:

byte[] framedata = (byte[]) frame.getData();

while (i < framedata.length - 2)
{
 // data is in BGR, not RGB
  byte red = framedata[3*i+2];
  byte green = framedata[3*i+1];
  byte blue = framedata[3*i];

// usw

}


moorhahn 07.01.2004 11:50

stimmt doch, dass sich eigentlich nur der rot-anteil des pixels stark erhöhen muss, oder? dann könnte man das ja mit beliebigem bild machen, also auch von einem raum.
hätte da nämlich noch eine idee:
kamera auf einen raum ausrichten, spieler1 merkt sich den raum, das bild wird aufgenommen. spieler1 geht raus, spieler zwei verändert zb 5 sachen im raum, bild wird wieder aufgenommen. spieler1 kommt wieder rein und muss mit dem laserpointer auf die veränderten sachen zeigen, also ein "real-life-suchbildrätsel".

dub 07.01.2004 12:25

Ich würde das Problem eher bei der Farbauflösung der Webcam suchen.

Aber hört sich interessant an, was du da vor hast! Lädtst du dann alle WCMler ein, wenn es fertig ist? :D

#Hannes#

moorhahn 07.01.2004 15:22

hehe, nach der matura vielleicht ja ...... :D

das ganze wär nämlich ein matura-projekt, hab heute a webcam gekauft, um 40 euronen, video-aufnahmen bis zu 640x480, 30 bilder/sek, das sollte reichen.
nur laserpointer lässt sich irgendwie keiner auftreiben, weder bei saturn, hartlauer noch niedermayer. wo in linz bekommt man an 08/15-laserpointer um 10 euro?

dub 07.01.2004 15:24

Schon mal in einem normalen Foto-Handel gefragt? Diese Dinga die man bei Dia-Vorführungen auch verwendet.

#Hannes#

moorhahn 07.01.2004 15:30

hm, ja, wär a idee. beim conrad habens auch welche. aber bestellen, das dauert wieder a paar tage ...... vielleicht beim westmüller in der bürgerstraße.

Who-T 07.01.2004 23:47

Zitat:

Original geschrieben von moorhahn
stimmt doch, dass sich eigentlich nur der rot-anteil des pixels stark erhöhen muss, oder?
theoretisch - ja. praktisch - jein. im endeffekt ist das bild der webcam immer ein bisschen verrauscht usw.
ich würd dir empfehlen das ganze in HSV umzurechnen und dann zu versuchen.

Zitat:

dann könnte man das ja mit beliebigem bild machen, also auch von einem raum.
hätte da nämlich noch eine idee:
kamera auf einen raum ausrichten, spieler1 merkt sich den raum, das bild wird aufgenommen. spieler1 geht raus, spieler zwei verändert zb 5 sachen im raum, bild wird wieder aufgenommen. spieler1 kommt wieder rein und muss mit dem laserpointer auf die veränderten sachen zeigen, also ein "real-life-suchbildrätsel".
deine cam hat 640X480/30 fps
wir nehmen an du filmst auf eine fläche größe 2 m breite und y meter höhe.
ein laserpointer erzeugt einen etwa 5 mm kreis.
sprich ein pixel entspricht ca 3 mm breite.

soll heißen dein punkt vom laserpointer wär maximal zwei pixel breit (und etwa genauso hoch, vielleicht weniger).
wenn du das ganze in am 3d raum machst wirds vielleicht noch kleiner.

und es is deswegen praktisch unmöglich den laserpointer zu finden...


Zitat:

30 bilder/sek,
wirst du nicht erreichen können...



außerdem
du willst dir vielleicht das durchlesen
http://www.who-t.net/work/eyecursor

moorhahn 08.01.2004 08:32

ja, das mit dem spiel im raum wird kaum möglich sein.
und es wäre auch gar nicht möglich in einer sekunde 30 bilder zu verarbeiten, da jedes bild ca. 300000 pixel hat, mal 30 wären 9000000 pixel. die in einer sekunde zu überwachen wäre sicher ned möglich.
aber die sache mit der weißen platte sollte funktionieren.

moorhahn 10.01.2004 19:30

hat wer links zu tutorial über das jmf in verbindung mit webcams, deutsch oder englisch. scheint doch nicht ganz so einfach zu sein.

bilder von der webcam in einem JFrame anzeigen funktioniert schon, nur halt ned ganz einwandfrei.
witzigerweise funktioniert es in eclipse nur einmal. bei jedem weiterem starten der der application öffnet sich beim aufruf von Manager.createDataSource() ein windows-fenster wo man die webcam auswählen kann, wählt man sie aus und klickt auf OK, bricht das programm ab, mit einer IOException und einer NoProcessorException.
bei neustart von eclipse funktioniert es einmal und dann wieder das gleiche.
beim starten in der kommandozeile funktioniert es immer, allerdings nach dem schließen des JFrames kommt die eingabeaufforderung nicht mehr. a bissl kompliziert, der source-code:
http://members.a1.net/chrisweil/java/WebcamTest.java


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag