PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Framegrabber, Einzellbild einer Cam festhalten



Alex20q90
17.07.2005, 19:21
Hallo,

so jetzt mal eine Frage zum grabben von Videobilder!

Ich bastle ein wenig mit A/D-Wandler und der CMOS-Conrad-Cam für 11 Euro.

Die überlegung ist jetzt ein einzelnes Bild dieser Kamera abzuspeichern => Ram.

Nach bissle rumsuchen fand ich heraus das das Videosignal 64µS Lang ist

http://www.web-ee.com/Schematics/FrameGrabber/vdvidsig.gif

Wie und mit welchem A/D-Wandler sollte ich das Bild abtasten?
Meine Anfangsüberlegung war das Bild über den AD zum AVR in den RAM zu bringen. ABer der wird wohl zu langsam sein! Es muss auch nicht die volle Bildauflösung (Die Cam macht glaub 352x288 Bildpunkte) machen!

Wie würdet Ihr das machen? Wie macht es denn die GameBoy-Kamera?
Ich möchte jetzt nicht unbedingt diese GB-Cam kaufen (die anderen Module von C liegen reichlich bei mir rum!)



Grüßle
Alex

Marco78
17.07.2005, 19:33
Die GB-Cam liefert die Analogwerte an einem Ausgang. Man muss sie nur in einer bestimmten Zeit umwandeln. Da ist es einfacher weil auch ein takt vorhanden ist wenn ich mich recht entsinne.
Sind die 64µS für deine Cam oder für ein PAL-Bild?
Hast du noch mehr Infos dazu? Ideal wäre es ja wenn du ein taktsignal hättest oder Hinweise, wann überhaupt ein Bild anfängt.

pebisoft
17.07.2005, 20:10
die cam von conrad macht nur analoge signale und hat keine bildpunkte sondern besteht nur aus zeilen (fbas-signal).
die gameboycam mach exakt 128x128pixel (adc-spannungswerte) (16kybyte) die man im ram speichern kann. ich übertrage die seriell und lasse sie vom pc mit visualbasic auswerten, der dann wieder den robby danach steuert.
im "album,persönliche galerie, pebisoft" ist ein bild davon.
mfg pebisoft

pebisoft
17.07.2005, 20:17
mein anderer versuch ist:
mit einem Video/audio-funkset sende ich die fbasdaten der cmoscam von conrad zum pc.
mit einem selbstgeschriebenen video-captureprogramm in visualbasic grabbe ich mit der wintv-dll-routine ein bild heraus und setze es in eine picturebox und werte mit dem visualbasicprogramm diese pixel aus (graustufen) und gebe dem robby wieder ein steuersignal zum fahren oder steuere den robby selber.
siehe "album,persöhliche galerie, pebisoft".

mfg pebisoft

Alex20q90
17.07.2005, 20:17
Hi,

das Videosignal ist ein einfaches Composit-Signal wie jede Videokammera liefert! Das ist laut Internet 64µS lang. Also bei 25 Bilder /s 1.6 mS.

Ich habe in der Cam auch einen Quarz gefunden! Wenn ich den Takt durch einen externen Takt ersetze und ensprechend verlangsame, wird das Signal dann von der Kamera länger?
Sonst würd ich den Ausgang meines Prozessors an die Cam anschließen und Zeile für Zeile abfragen!

Hier ein Bild der Conrad-Kamera-Module :

http://defencemercury1.dyndns.org/bilder/cam1.jpg

EDIT:

@Pebisoft :

Ahh, das ist schon interessannt! Aber wie gesagt, ich will jetzt nicht noch extra andere Cams kaufen!
Bildauswertung möchte ich auch nicht über einen PC machen, sonst würde ich die Cam direkt an ne TV-Karte mit Videoeingang hängen!

Aber zum testen werde ich dann die Daten an den PC schicken und auswerten! Vorrausgesetzt ich weis wie ich die Schaltung aufbaue :-)

Grüße
Alex

pebisoft
17.07.2005, 20:22
die dritte möglichkeit, die ich teste ist das mit der cmucam2 von roboter-teile.de.
diese camera habe ich auf dem robby und diese sendet mir nur auswertesignale zum auswerten und keine bilddaten.
das cameralifebild der cmucam2 wird auch als fbassignal übertragen zum sehen, wo der robby hinfährt. die cmucam2 ist aber auch in der lage neben dem fbassignal auch die im speicher der camera befindlcihen bilddaten als pixel zum pc zu senden. wie du erkennst, ist hier die auswahl noch grösser.
mfg pebisoft

Goblin
17.07.2005, 20:29
sorry, dass ich mich nicht zum thema melde und auch nicht in technischer absicht und ich versichere vorher: nobody's perfect und ich will dich nicht persönlich angreifen, pebisoft, aber mir scheint es, dass du des öfteren durch zusammenhängende hintereinander gemachte posts versuchst, deine beiträgezahl in die höhe zu schrauben (was auch immer du davon hast, weil du afaik schon auf dem höchsten benutzer-level bist). schonmal was von der edit-funktion gehört?

nochmal sorry für diesen beitrag in diesem topic, aber es ist mir halt gerade zum xten mal aufgefallen. und ich will auch nicht rumnörgeln. nur halt ne anmerkung.

pebisoft
17.07.2005, 20:35
der videofunkset ist nicht anderes als das man ein videokabel dort hineinsteckt und die daten dann zum pc gefunkt werden.
ein auswerteverfahren mit einem chip auf den robby, wird die kosten deiner camera um ein erschreckendes vielfaches überrumpeln. du wirst dann an einem pda oder embedded-computer nicht vorbeikommen, die dann bei ca 200-300 euro liegen und dafür lohnt sich dann der kauf wieder für einer teueren cmoscam.
mfg pebisoft
ps: oder du nimmst eine gameboycam von ebay, dieses verfahren ist top-günstig und präzise. schau im avr-forum.
die bilder lassen sich mit einem 2. avr auf dem robby dann auswerten.
wir tüfteln noch an einer lösung. die bilder der camera sind schon präzise für das auswerteverfahren.

Alex20q90
17.07.2005, 20:48
Hi pebisoft,

ja aber wie arbeiten denn die Framegrabber der TV-Karten???
Die müssen doch auch einen Videoeingang auf nen Wandler haben, von dort in einen Speicher und dann auf den Bus des PC!

Da ich nicht 25Bilder/Sek sondern 1 Bild brauche, müsste es doch mit weniger aufwand zu realisieren sein? Wie arbeiten den die Grabber für die LPT-Schnitstelle wo es damals für die 386er gab? Da war doch auch kein High-Tech-Chip drinn!

grüße
Alex

pebisoft
17.07.2005, 20:50
vergiss deine quarzgeschichte.
es geht bei der cmoscam um ein zeilenverfahren. es wird ein quasi zeilentrafo eingesetzt, der die bildtastung, halbild, vordere schwarzschulter, hintere schwarzschulter, dunkeltastung beim zeilenrücksprung usw zeitlich regelt.
das ca 600mal probild x 25 bilder.
in 52us muss man eine zeile ca 300x abstasten, den wert verstärken und speichern, ohne das man sich in der zeit verrechnet, den sonst ist der abtastzeiger schon wieder woanders.
mfg pebisoft

pebisoft
17.07.2005, 21:01
die tv-karten haben keinen speicher und keinen framegrabber, das bild wird über das vga-bild im speicher der grafikkarte gelegt und die macht die arbeit.
der speicher ist der vgabildspeicher, daraus werden dann die bilder rausgeholt, wenn man sie grabben möchte. und diese bilder sind noch keine bitbilder sondern farben oder graustufen (rgb) die musst du auch noch wieder pixelweise auswerten und in bit umwandeln, damit du überhaupt eine wertung vornehmen kannst für das weitere verhalten des robby..
rechne mal aus, wie teuer eine wintv-karte plus die grafikarte ist. diese beiden dinger müsstest du erst einmal nachbauen.
schau mal mit google nach wie teuer die grabber für die fernsehnormbilder sind, die daraus ein bit-bild machen zum auswerten, die liegen bei 180-300 euro.
darum ist die cmucam2 ja so teuer (140 euro) und die macht nur ein pixelbild von ca 200x200 statt ein grosses fernsehbild mit über 600 zeilen zu verarbeiten.
mfg pebisoft

pebisoft
17.07.2005, 21:15
früher im 386 das war ein scannerkopf am druckerport. bevor das bild fertig war, war der kaffe auch schon kalt, ca 1bild pro minute.
danach gab es schon die handscanner, die waren schon etwas schneller.
du kannst auch einen hanscanner nehmen, das bild auf eine milchglasscheibe sichbar machen und den handscanner motorisch auf der rückseite hoch und runter fahren lassen.

mfg pebisoft

Alex20q90
17.07.2005, 21:18
früher im 386 das war ein scannerkopf am druckerport. bevor das bild fertig war, war der kaffe auch schon kalt, ca 1bild pro minute.
danach gab es schon die handscanner, die waren schon etwas schneller.
du kannst auch einen hanscanner nehmen, das bild auf eine milchglasscheibe sichbar machen und den handscanner motorisch auf der rückseite hoch und runter fahren lassen.

mfg pebisoft

Ich rede von den Videograbbern an die man ein Videokamera anschliesen kann, und sowas wie eine Digicam zum Fotografieren hat! Nix Scanner zum drüberziehen!

Grüße
Alex

pebisoft
17.07.2005, 21:43
du meinst am parallelport die sauteuren geräte, das waren die ersten anfänge der heutigen videograbber, die ich oben erwähnt habe für 200-300 euro, damals "dm", wenn du das umrechnen tust auf den jahrgang, dann sind es heute sogar 300-400 euro .
mfg pebisoft

pebisoft
17.07.2005, 21:48
goblin du ratte, du unterstellst mir hier was. ich führe hier ansichten auf, die auf verschiedenen technischen ebenen und richtungen stattfinden.
es ergeben sich hier kurzfristig technische gegebenheiten verschiedener fachgebiete.
mfg pebisoft

eFFex
18.07.2005, 10:45
man könnte doch aber die einzelnen Zeilen nicht "in voller Auflösung" abtasten sondern vermindert oder? Kommt drauf an, was man mit dem Bild anfangen will, aber vielleicht reicht ne kleinere Auflösung.
Nur n kleines Beispiel:
Hier sparen die sich über "Heuristik" *hüstel* einen Großteil der Arbeit.
Da soll der hellste Punkt (der LaserStrich) gefunden werden und die messen im endeffekt die Zeit zwischen hsync und dem Maximum, wobei heir der Triggerwert eben vorher bestimmt wurde.....
http://www.seattlerobotics.org/encoder/200110/vision.htm

Alex20q90
18.07.2005, 13:52
Hallo eFFex,

danke für deinen beitrag! Leider kann ich den link ned öffnen!

Zu pebisoft :

Die Cam wird nicht an den Bot gebastelt, sondern an einem Punkt fest im Raum! Dann wird ein Bild gespeichert. Bewegt sich jetzt ein Bot durch den Raum, wird das ist Bild mit dem gespeicherten verglichen. Somit reicht eine normale auflösung wie eFFex schon vorgeschlagen hatte!

Ich werde auch nicht die GB-Cam oder CMU-Cam kaufen! Das ist ja wie wenn ich sage ich habe ein Problem mit meinem Radio im neuen 3er BMW Modellreihe e90 und Du mit empfiehst ein anderes Auto zu kaufen!

Ich habe jetzt bissle im Netz weitergesucht und zufällig einen ADC und DAC gefunden : TDA8702 und TDA8709. Diese AD / DA-Wandler sind anscheinend so schnell das sie bevorzugt in Videodigitalisierung angewendet werden!

Ich habe aber wie gesagt keinen Plan wie ich das machen soll!
Ich denke ich warte den Syncronimpuls (unter 0.2 Volt) ab und fange dann an das Bild zu Speichern. Ich denke dafür müsste es schon IC's geben (EL4581 ??)

Jetzt hab ich nur das Prob das der Prozessor es eventuell zu langsam abtastet! Der ATMega hat ja nur 16-20MHz.

Kann ich einen externen Takt auf den ADC setzen und die gewandelten werte direkt in ein RAM schreiben?

Hat da jemand einen brauchbaren Schaltplan? Er sollte wenn möglich für einfaches Basismaterial verwendbar sein ( wenig brücken :-) )

Grüßle
Alex

chr-mt
18.07.2005, 14:36
Hi,
da sich der Gleichspannungswert der meisten Kameras mit dem Bildinhalt ändert (Einmfach mal mit dem Scope auf DC messen) , müsste das Signal vorher noch durch eine Klemmstufe.
Da gibt's aber auch fertige ICs ..

Gruß
Christopher

teslapower
18.07.2005, 16:30
Auch recht interessant:

http://graphics.cs.uni-sb.de/Courses/ws9900/cg-seminar/Ausarbeitung/Dirk.Wolfanger/#ITU601.1

teslapower
18.07.2005, 16:54
Oder hier
http://www.tfh-berlin.de/~mixdorff/dvt/Digitale_Bilder.pdf