Einfache Bildverarbeitung

OP #2692074
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
OP #2692112
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.
Gast #2692119
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)
(Firma: matzetronics) #2692122
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.
Gast #2692207
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?
Gast #2692235
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.
OP #2693016
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
OP #2693041
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.
OP #2717704
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren