Forum: Mikrocontroller und Digitale Elektronik Einfache Bildverarbeitung


von Holger P. (hpusch)


Lesenswert?

Hallo,

ich bin zwar neu hier him Forum, habe aber schon viel passiv mitgelesen 
und zahlreiche wertvolle Infos mitnehmen können. Hierfür im nachhinein 
erstmal vielen Dank an die Community! :-)

Nun habe ich eine Aufgabenstellung zu der ich bereits viel recherchiert, 
aber noch keine brauchbare Lösung gefunden habe.

Die grob skizzierte Aufgabenstellung sieht so aus:

Ein per Kamera aufgenommenes Bild soll in Echtzeit mit einigen wenigen 
Zusatzinformationen ergänzt und auf einem Display angezeigt werden.

Per PC und WebCam ist das in wenigen Minuten zu lösen, per 
MikroController finde ich jedoch keine Infos, mit welcher Hardware ich 
das zufriedenstellend, d.h. in Echtzeit, lösen könnte.

Kameras mit serieller Schnittstelle liefern nicht genug Frames pro 
Sekunde und bei analogen Kameras finde ich keine Möglichkeit in das Bild 
einzugreifen.
Am liebsten wäre mir eine Lösung auf Basis des .NET Micro Framework, 
also Netduino oder ein Produkt von FEZ, da ich beruflich im .NET-Bereich 
zu hause bin. Arduino würde aber auch gehen, ich denke da kann ich mich 
schnell einarbeiten (habe über 30 Jahre Programiererfahrung).

Für Tipps und Ratschläge oder auch treffende Links mit denen ich mich 
selber schau machen kann wäre ich sehr dankbar.

Viele Grüße und ein schönes Pfingstwochenende
Holger

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Du könntest doch ein analoges Kameramodul nehmen und ein zweites (zum 
Kamerasignal synchrones) Videosignal erzeugen, welches Du dann auf das 
Signal der Kamera aufmischst. Ein VGA-Signal wäre dazu z.B bestens 
geeignet.


Gruß
Jonathan

von Holger P. (hpusch)


Lesenswert?

Ja, sowas in der Art hatte ich mir auch schon gedacht, also mit dem 
Mikrocontroller ein Videosiganl zu erzeugen und dann beide Signale zu 
mischen. Das ist aber einfacher gesagt als getan. Wie erzeuge ich mit 
einem Arduinio/Netduino ein VGA-Signal, mit welchem Bauteil mische ich 
es mit dem Analog-Signal der Kamera und auf welchem Display kann ich 
dann das gemischte Signal darstellen? Die in den Entwicklungskits 
mitgelieferten Displays (FEZ-Spider, FEZ-Panda II etc.) werden alle 
nicht per VGA angesteuert.

Von daher hatte ich nach rein digitalen Lösungen geschaut, aber beim 
Entwicklungkit für den FEZ-Spider ist z.B. zwar sowohl eine Kamera als 
auch ein Display dabei, aber auf den Videos bei YouTueb ruckelt die 
Darstellung doch extrem.

Und bei der vorgeschlagenen analogen Lösung scheitert es am Mischen und 
dem Display.

von Nobbe (Gast)


Lesenswert?

Ich kenn das FEZ Spider jetzt nicht genauer aber bei den meisten diesen 
Kits mit normalem Mikrocontroller wird das Digitale Videosignal vom 
Mikrocontroller gar nicht angefasst sondern einfach nur zum Display 
weitergeleitet - per DMA oder anderen Methoden.
Also eher uninteressant für Dich.

> Ein per Kamera aufgenommenes Bild soll in Echtzeit mit einigen
> wenigen Zusatzinformationen ergänzt und auf einem Display
> angezeigt werden.

Was für Infos?
Text?
Symbole?

Dann gäbe es Videotext und Overlay generator ICs für analoge 
Videosignale.
(musst mal Google befragen)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wenn du vorhast eine (F)BAS Kamera mit PAL Ausgang zu nehmen, könntest 
du evtl. die AVGA Library modifizieren, um den AVR mit dem FBAS Signal 
zu synchronisieren:
http://avga.prometheus4.com/index.php?p=1-0
Normalerweise läuft der ATMega168 hier mit einem Takt von 19,6 Mhz, um 
ein RGB Signal mit PAL Timing zu erzeugen. Entweder kannst du eine PLL 
konstruieren die den AVR auf das FBAS Signal 'genlocked' , oder du 
nimmst einen Syncseperator a la LM1881/TDA2940, um die Timer im AVR zu 
resetten.
AVGA übernimmt dann die Einblendungen.

von Jobst M. (jobstens-de)


Lesenswert?

In Fernsehern waren dafür mal OSD-ICs drin.
Viele Videotextdecoder können das auch.


Gruß

Jobst

von Klaus (Gast)


Lesenswert?

Für Texte und ähnliches gibts den MAX7456

MfG Klaus

von PittyJ (Gast)


Lesenswert?

Vielleicht sollte einmal der Umfang der Bildverarbeitung erzählt werden.

Wir nehmen Videos mit Ethernet-Kameras auf, und bearbeiten die online 
auf PCs. Aber diese Datenrate übersteigt Leistung die kleinen 
Mikrokontroller bei weitem.

Also, was soll genau prozessiert werden?

von BoeserFisch (Gast)


Lesenswert?

Hi,

wir haben schon einige Referenzdesigns von intelligenten Kameras auf 
Blackfin Basis verwendet (Analog Devices Video DSP), auch von 
Texas-Instruments gibt es ein paar Chips mit Kameraport.
Da schließt man die Sensoren meist über einen dafür gemachten 
Parallelport an. Wenn man allerdings die Bilder digital auf LCD ausgeben 
will, muß man einen mit zwei dieser Parports nehmen, oder den LCD per 
Bus-Interface ansteuern. Nicht ganz billig, solch ein Design..
Mit .NET geht da allerdings nichts, das muß man schon in C 
programmieren.
Für einen einzelnen Prototyp ist es wohl einfacher, einen kleinen 
embedded-Linux-Rechner wie den Raspberry Pi zu verwenden.

von Holger P. (hpusch)


Lesenswert?

Hallo,

wow, so viele Antworten, klasse, ich bin begeistert!

Es soll ein einfacher Text (zwei Sensordaten) und ein aus zwei 
horizontalen und zwei vertikalen bestehendes Gatter eingeblendet werden. 
Das Gatter ist statisch und die Sensordaten ändern sich maximal 10 mal 
pro Sekunde. Monochrome reicht völlig. Die grafische Aufbereitung ist 
also äusserst simpel und kein bisschen rechenintensiv.

Der Vorschlag mit dem MAX7456 gefällt mir daher sehr gut! Der Link führt 
zu vielen weiteren Informationen, da werd ich mich jetzt mal 
durchbeissen.

DANKE!

Viele Grüße
Holger

von Holger P. (hpusch)


Lesenswert?

Ich sehe gerade, dass es fertige Module gibt, so dass ich das Rad nicht 
zum zweiten mal erfinden muss: http://www.sparkfun.com/products/9168

Da der MAX7456 per SPI angesteuert wird, kann ich ohne weiteres einen 
Microcontroller auf .NET-Basis nehmen und in meiner vertrauten C#-Welt 
bleiben, das kommt mir sehr entgegen. Eine PAL-Kamera kostet nicht die 
Welt, da hab ich sogar noch die eine oder andere in der Schublade 
liegen.

Mein Problem ist also fast vollständig gelöst.

Jetzt fehlt mir nur noch ein Tipp für ein Display das nicht grösser als 
4" sein sollte und per PAL angesteuert wird.

von Holger P. (hpusch)


Lesenswert?

Hallo,

Problem ist gelöst, System läuft! Ich hatte noch ein 
mySmartControl-Board in der Schublade, hab mir das 
MAX7456-Breakout-Board von Sparkfun und zusätzlich einen super günstigen 
3,5"-Monitor besorgt der im KFZ-Bereich für Rückfahrkameras vorgesehen 
ist.
Kleines Progrämmchen geschrieben und alles funktioniert wunderbar.

Vielen Dank nochmal für die Tipps und den Schubs in die richtige 
Richtung! :-)

Grüße
Holger

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.