Hallo Leute, ich habe eine Kamera, die RGB Werte über die UART sendet. Diese Werte möchte ich auf dem PC als Video empfangen. Kennt jemand so ein Programm, welches die Daten übersetzt und als Video anzeigt? Die RGB Werte sind übrigens komprimiert, d.h. für jeden Pixel (insgesamt 19200 Pixel, also 160x120) ist nur 1 Byte für die RGB Farben. Die Farben kann ich alternativ auch rausfiltern und über UART jede Farbe nacheinander verschicken. Würde mich freuen wenn jemand so ein Programm kennt. Danke im Voraus!!
Interessantes Problem... Mit welcher Geschwindigkeit sendet die Kamera? Müssen die Daten in Echtzeit dargestellt werden oder dürfen sie aufgezeichnet und danach abgespielt werden? Im diesem Fall würde ich mal gucken welche unkomprimierten Codecs (weil einfacher als JPG und Co.) VLC abspielt und die Daten mittels selbstgeschriebenem Programm ins passende Format bringen (Daten empfangen, konvertieren und AVI-Header dranbasteln oder so).
Hi und danke erstmal für die Antworten. Die Kamera sendet die Bilder zwischen 5 und 8 fps und soll in Echtzeit angezeigt werden.
Knusperkeks schrieb: > Die Kamera sendet die Bilder zwischen 5 und 8 fps und soll in Echtzeit > angezeigt werden. 19.200Pixel * 8Bit/Pixel * 5fps = 768.000Bits/s Meiner Meinung nach schafft das ein Standard PC-RS232-Port nicht.
Hm da hast du recht, die Kamera nimmt in der o.g. Geschwindigkeit auf. Die Daten werden dann noch in der Kamera verarbeitet (Objekterkennung) und soll dann die Ergebnisse über die UART Schnittstelle angezeigt werden. Da ich jedoch wissen muss was die Kamera sieht und wie tief die Farben sind, wollte ich mir das als Video in "Echtzeit" anzeigen lassen. Es ist also nicht schlimm wenn das Video langsam ist, solange ich erkennen kann was sich in der Kamera abspielt!
Also was den nun? Schiebt die Kamera alle Bilder raus oder wird nur jedes 2. oder 3. Bild gesendet weil die Verbindung zu langsam ist? Oder kommt da ganz was anderes raus? Mehr Infos bitte.
Knusperkeks schrieb: > die RGB Werte über die UART sendet Bist du da wirklich sicher? Und was sind schon RGB-Werte? Bitmap? Jpeg? oder? Alleine das schliesst das ja schon aus: J.-u. G. schrieb: > 19.200Pixel * 8Bit/Pixel * 5fps = 768.000Bits/s Zumal RGB auch nicht 8 Bit sondern 24 sind. Knusperkeks schrieb: > soll dann die Ergebnisse über die UART Schnittstelle angezeigt Das Ergebnis einer Objekterkennung ist ja im einfachsten Fall ja oder nein. Aber nicht unbedingt eine Bildübertragung. Hat denn der Hersteller der Kamera nichts im Angebot? mfg.
Ok sorry, nochmal genauer. Die Kamera nimmt laut Hersteller Bilder bis zu 10 fps auf. Jedes aufgenommene Bild wird in der Kamera analysiert und verarbeitet. Dadurch verringert sich wohl die Geschwindigkeit der Aufnahme. Dieses ist jedoch nicht relevant. Ich möchte nun zusätzlich jedes aufgenommene und verarbeitete Bild über die UART Schnittstelle an den PC senden um diese dann als Video anzeigen zu lassen. Wie genau die Geschwindigkeit ist, weiss ich leider nicht und ist auch hier nicht relevant. Hauptsache ist, ich sehe unmittelbar nach dem Empfangen der Daten das Bild auf dem PC. Das Video brauche ich, damit ich die Ergebnisse der Objekterkennung überprüfen kann. lg
jetzt nenn doch einfach mal den Typ der Kamera oder eventuell gleich ein Links auf das Datenblatt. Es gibt kein Standard für die übertragung von Bilder auf UART. Eventuell liefert die Kamera gar keine Bilder nur das Ergebniss der Erkennung.
Hallo Thomas, ja ich bin mir sicher dass es RGB Werte sind. Wie oben schon erwähnt handelt es sich um komprimierte RGB Werte, so dass für jeden Pixel nur 1 Byte Farben benötigt wird. (3 Bits für rot, 3 Bits für grün und nur 2 Bits für blau) Die Objekterkennung liefert nicht nur ein ja oder nein, sondern um was es sich für ein Objekt handelt (natürlich vordefinierte Objekte) und sonstige Eigenschaften. Meine Frage beläuft sich hier auch gar nicht auf die Objekterkennung.
Knusperkeks schrieb: > ja ich bin mir sicher dass es RGB Werte sind. Wie oben schon erwähnt > handelt es sich um komprimierte RGB Werte, so dass für jeden Pixel nur 1 > Byte Farben benötigt wird. (3 Bits für rot, 3 Bits für grün und nur 2 > Bits für blau) Dann gib uns bitte endlich eine Beschreibung des Datenformats und des Protokolls der Videoübertragung. Sonst kann Dir keiner weiterhelfen.
Peter II schrieb: > jetzt nenn doch einfach mal den Typ der Kamera oder eventuell gleich ein > Links auf das Datenblatt. Es gibt kein Standard für die übertragung von > Bilder auf UART. > > Eventuell liefert die Kamera gar keine Bilder nur das Ergebniss der > Erkennung. Leute, danke erstmal dass ich euch hier soviel Mühe gebt. Aber mir geht es hier wirklich nicht um die Objekterkennung. Auch dürfte die Kamera nicht von belangen sein, da ich nur gefragt habe wie ich die RGB Werte auf dem PC anzeigen lassen kann. Die Kamera nennt sich POB-EYE 2 (von der Firma POB-Technology). Ausserdem liefert die Kamera die Bilder und nicht nur die Erkennung, da ich das Programm der Objekterkennung selbst geschrieben habe. Normalerweise habe ich ein LCD Display zur Verfügung, auf welchem ich dann sehen kann was die Kamera sieht. Diese habe ich jedoch nicht übers Wochenende zur Verfügung. Deswegen wollte ich das auf dem PC anzeigen lassen.
die bilder werden nicht über uart/usb übertragen The USB connector (a mini-B female connector) allows you to upload a new firmware and to communicate with the POB-EYE2 by a serial port with your computer: The POB-EYE2 converts the USB link to a serial link.
Nachtrag: The POB-EYE2 comes with a second UART, named UART1. You can use them freely in your application. du kannst also den 2.Port selber nutzen, dafür muss das die Firmware anpassen. Dann kannst du dir ja ein Protokoll ausdenken.
Hallo Peter, Übertragung war leider auch nicht Teil meiner Frage. Die Übertragung findet problemlos statt. Ich kann über das Hyperterminal alle RGB-Werte empfangen. Nur sind es eben reine Zahlen die ich Empfange. Wenn ich das Bild binarisiert über das Hyperterminal schicke, also nur 0 oder 1, dann kann ich sogar Umrisse und Muster erkennen. Jedoch habe ich dann keine Informationen über die Farben. Also, wie gesagt, es sind komprimierte RGB Werte die auf dem PC empfangen werden. Jetzt kommt die Weiterverarbeitung. Und genau hier war meine Frage.
Knusperkeks schrieb: > Wenn ich das > Bild binarisiert über das Hyperterminal schicke Sorry, bevor gleich wieder ne Frage in falscher Richtung kommt. Ich meinte natürlich: Wenn ich das Bild binarisiert über das Hyperterminal EMPFANGE...
du musst ja erstmal erkennen wo ein bild anfängt und wo es endet - also brauchst du schon mal eine Protokoll. Dafür wird es keine Standard software geben. Also muss dir eine schreiben (mit C# sollte das kein Problem sein). Einfach ein Bild anlegen und der reihe nach die Pixel mit den empfangen daten aufüllen. Da hier eh die uart die begrenzung ist braucht du dir um die geschwindigkeit keien sorgen zu machen.
Ok danke, das ist wohl eine Lösung. Mit C# kenne ich mich leider nicht aus, aber habe gerade ein wenig gegoogelt und gesehen dass man damit relativ leicht zeichnen kann. Nun setz ich mich mal ran. Danke nochmal an alle und sorry für die Verwirrung.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.