Hi Lars,
Zitat:
wie, das Demo kommt ohne Controller aus ? Das heisst, dass die Cam automatisch die eigenen Servos so steuert, dass sie dem Objekt folgt ?
ja das ist korrekt. Voraussetzung ist wie schon geschrieben ein entsprechender Farbkontrast. Im Video läuft der DemoModus. Beim Einschalten wird eine Taste gedrückt gehalten, ein zweiter Druck übernimmt die Farbe (wie auch in dem CMUcam2-Video auf http://www-2.cs.cmu.edu/~cmucam2/CMUcam2_demo.mov zu sehen) .
Das ganze lässt sich auch über einen Controller steuern. Die Parameter werden mit einem ASCII-Protokoll übergeben. Wahlweise kann die Cam die Servos dann selbst steuern oder man positioniert die an der Cam angeschlossenen Servos (bis zu 5) über externe Befehle.
Die Servosteuerung basiert auf Schwerpunktbildung der matchenden Pixels, wobei versucht wird, den Schwerpunkt in die Bildmitte zu bekommen.
Zitat:
Es gibt auf der mitgelieferten CD auch Programme, wie die GUI. Ist da auch der volle SourceCode bei ?
ja.
Zitat:
Was mich wundert ist, dass das scheinbar in Java programmiert ist. Ich mein mir solls recht sein, das programmier ich sogar noch lieber, nur habe ich bisher aus Java heraus nicht auf Webcams/Cams etc. zugegriffen.
Die Java-GUI ist eigentlich eine Art Beispielapplikation wo gezeigt wird, wie man die Cam bedienen kann. In der GUI läuft keinerlei Bildverarbeitung. Man steuert lediglich die Funktionen der CMUcam und stellt die zurückgegebenen Daten dar.
Zitat:
Funktioniert das denn einwandfrei ? Also dass ich laufende Bilder auch analysieren / auswerten kann per eigenes Prog ?
Analysieren, auswerten usw. kein Problem, sofern man mit den implementierten Funktionen der GUI auskommt. Also Farbtracking, Motiontracking usw.
Will man was eigenes machen bekommt man den Flaschenhals der seriellen Schnittstelle zu spüren. Ich hab's ja glaube ich gestern in einem anderen Thread hier geschrieben, ein Vollbild in Hires und allen Farben dauert 11s (in Normalauflösung immer noch 4s).
Da gibt es aber den sogenannten Linemode, wo ein deutlich reduziertes Binärbild als Ergebnis einer Trackingfunktion übertragen werden kann. Das geht zwar immer noch im Bewegtbildbereich, allerdings ist das Bild dann schon arg reduziert.
Mal ein Beispiel, eine einfache Linienverfolgung kann die CMUcam ohne zusätzlichen Programmieraufwand. Wenn jetzt Kreuzungen kommen, muss das der Hostprozessor erledigen, das kann die Cam nicht.
Zitat:
Hier noch nen interessantes Video zur CMUCam2 :
Nein das war von der CMUcam1. Interessant ist hier der Outdoor-Linienfolger Barney (Gewinnerbot von A. Rowe).
HTH und Viele Grüße
Jörg