Forum: PC Hard- und Software Empfangene UART Daten als Video auf dem PC anzeigen


von Knusperkeks (Gast)


Lesenswert?

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!!

von Max (Gast)


Lesenswert?

Sebermachen.....

von name (Gast)


Lesenswert?

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).

von Knusperkeks (Gast)


Lesenswert?

Hi und danke erstmal für die Antworten.

Die Kamera sendet die Bilder zwischen 5 und 8 fps und soll in Echtzeit 
angezeigt werden.

von J.-u. G. (juwe)


Lesenswert?

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.

von Knusperkeks (Gast)


Lesenswert?

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!

von name (Gast)


Lesenswert?

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.

von Thomas E. (thomase)


Lesenswert?

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.

von Knusperkeks (Gast)


Lesenswert?

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

von Peter II (Gast)


Lesenswert?

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.

von Knusperkeks (Gast)


Lesenswert?

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.

von J.-u. G. (juwe)


Lesenswert?

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.

von Knusperkeks (Gast)


Lesenswert?

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.

von Peter II (Gast)


Lesenswert?

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.

von Peter II (Gast)


Lesenswert?

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.

von Knusperkeks (Gast)


Lesenswert?

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.

von Knusperkeks (Gast)


Lesenswert?

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...

von Peter II (Gast)


Lesenswert?

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.

von Knusperkeks (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.