Guten Morgen,
ich möchte die Inhalte von der Vorlesung Bildverarbeitung &
Mustererkennung etwas vertiefen.
Dazu möchte ich in C bzw. C++ oder Matlab Beispiele durchführen für das
bessere Verständnis. Kennt jemand im Netz ein gutes Skript (deutsch) mit
Beispielen? Mir wäre es lieber, wenn ich die Beispiele in der
Programmiersprache C oder C++ geschrieben sind.
Vielen Dank schonmal im voraus.
Student schrieb:> ich möchte die Inhalte von der Vorlesung Bildverarbeitung &> Mustererkennung etwas vertiefen.> Dazu möchte ich in C bzw. C++ oder Matlab Beispiele durchführen für das> bessere Verständnis.
Das beste Verständnis bekommst du .... wenn du das selber programmierst
und nicht von irgendjemand anders programmierte Beispiele laufen lässt.
Das bringt so gut wie gar nichts.
Student schrieb:> Gibt es eine gute Literatur bzw. Skript?
Ähm.
Ich denke du gehst in eine Vorlesung?
Library besorgen die dir den lästigen Teil "Einlesen eines Bildes in ein
Array" abnimmt. In dem Momement, in dem du alles in einem 2D Array
vorliegen hast, kannst du dich nach Herzenslust an dem Bild austoben.
Plattform:
Welche kannst du denn programmieren?
Die nimmst du.
Welche Programmiersprache kannst du?
Die nimmst du.
Programmiersprache: C und C++
Entwicklungsumgebung: Microsoft Visual Studio C++
Betriebssystem: Windows XP
Gibt es für den Einstieg ein paar Beispielprogramme in C bzw. C++?
Das Skript von unserem Prof ist echt nicht gut. Kennt jemand ein
gutes deutsches Skript?
Student schrieb:> Das Skript von unserem Prof ist echt nicht gut. Kennt jemand ein> gutes deutsches Skript?
Gut gemeinter Tip: Freunde dich mit englischer Literatur an oder vergiss
es.
Google doch mal nach "Buch Mustererkennung Bildverarbeitung".
Für die Inhalte der Vorlesung solltest Du fit in Mathe sein. Die
Programmiersprache ist nebensächlich.
Karl heinz Buchegger schrieb:> Library besorgen die dir den lästigen Teil "Einlesen eines Bildes in ein> Array" abnimmt. In dem Momement, in dem du alles in einem 2D Array> vorliegen hast, kannst du dich nach Herzenslust an dem Bild austoben.
Das schreit förmlich nach OpenCV.
grastino (gastino unterwegs) schrieb:> Karl heinz Buchegger schrieb:>> Library besorgen die dir den lästigen Teil "Einlesen eines Bildes in ein>> Array" abnimmt. In dem Momement, in dem du alles in einem 2D Array>> vorliegen hast, kannst du dich nach Herzenslust an dem Bild austoben.>> Das schreit förmlich nach OpenCV.
Solange er seine Filter, Histogramme, Dither-Methoden und was sonst noch
so alles in seiner Vorlesung vorkommt selber implementiert und nicht
einfach nur fertige Funktionen aufruft, spricht nichts dagegen.
Im Grunde kann man aber auch die einfacheren Dinge in der
Bilverarbeitung / Mustererkennung mit 'künstlichen Bildern' ganz einfach
ohne viel Schnick/Schnack durchspielen
fertig ist ein Testsystem, das seine Bilder als ASCII Bilder durch
unterschiedliche Buchstaben anzeigt, wenn auch nur in 10 'Graustufen'.
Wenn man die Augen ein wenig zusammenkneift, kann man sich das Rechteck
schon ganz gut vorstellen.
Klar ist das nicht optimal.
Aber um Histogramme zu erzeugen, Dithering zu betreiben, erste Filter
anzuwenden reicht das allemal (und mit besseren Grauwertbuchstaben wird
dann auch das 'Bild' ein wenig realistischer)
Der Schwerpunkt soll ja auf Bildverarbeitung liegen und nicht auf dem
ganzen Drumherum, der notwendig ist um ein JPG von einem File einzulesen
und in Windows in einem Fenster anzuzeigen. Konzentration auf das
Wesentliche! Das geht zumindest für die ersten Schritte mit so etwas
genausogut (und hat den Vorteil, dass man besser Debuggen kann, da die
Bilder nicht so gross sind :-)
suche er mal nach 'Bildverarbeitung ad Oculus'. Das ist ein Lehrbuch und
Software gibt es auch dazu. Da sind die Grundlagen ganz gut erklärt, das
ist schon das Mindeste was man sich antun sollte um da einzusteigen.
OpenCV ist auch gut, aber was nutzen die ganzen Fachbegriffe da wenn man
keinen Plan hat.
Karl heinz Buchegger schrieb:> Solange er seine Filter, Histogramme, Dither-Methoden und was sonst noch> so alles in seiner Vorlesung vorkommt selber implementiert und nicht> einfach nur fertige Funktionen aufruft, spricht nichts dagegen.
Die fertigen Funktionen kann er immerhin zur Kontrolle verwenden, das
war eigentlich einer meiner Hintergedanken.
Ansonsten bietet OpenCV ja den ganzen I/O-Kram an, weswegen ich es auch
sehr passend finde.
Für Bildverarbeitung benutze ich am allerliebsten Matlab! Da kann man
sich am Besten auf den Algorithmus konzentrieren. Für Studenten ist eine
Lizenz recht günstig zu erwerben.
Matlab hab ich auch schonmal dafür verwendet. In Microsoft Visual Studio
C++ habe ich mal nur ein Bitmap (2D). Nun könnte ich ja ein Histogramme
erzeugen oder ein Filter anwenden.
Google hülf!
http://www.google.com/search?q=bildverarbeitung+skript+filetype%3Apdf
Einige Buchtipps:
- "Digitale Bildverarbeitung" von Wilhem Burger und Mark James Burge
- "Digital Image Processing" von Gonzalez und Woods
- "Digitale Bildverarbeitung" von Bernd Jähne
Ihr habt doch bestimmt eine Uni-Bibliothek? Dort wirst du mit Sicherheit
einige gute Bücher finden. Kommilitonen höherer Semester helfen dir
gerne beim Aussuchen (und haben häufig Skripte vom Vorgänger).
Ansonsten: Einen begabten Kommilitonen schnappen, zum Prof/Labor-Ass
deines Vertrauens gehen, Labor aufschließen lassen und loslegen.
Jähne und Gonzales reichen.
Dazu noch ein,zwei Bücher über OpenCV (äh, OpenCV2), wenn es C sein
muss, (die Sprache ist eigentlich egal) und dann ab ans proggen.
Bildverarbeitung ist nicht was, was man sonderlich gut aus Büchern
lernt, sondern in der Praxis: Nämlich, wenn der Bildgebungsspezialist
besch.. Bilder liefert, die Lichtbedingungen doch nicht so homogen sind,
und man 2.3sec zum Untersuchen von mehreren 100Mbyte hat.
Dann hilft viel Rumprobieren, viel Erfahrung, eine gute Sammlung an
Code-Schnipseln und die gelegentliche Diskussion mit (guten)
Mathematikern und Leuten, die was von Optik verstehen. Und eine
vernünftige Library, mit der man schnell mal Dinge testen kann, also
etwas in Richtung Matlab, IMAQ, Halcon,.. Ob man die dann in der
Produktion auch nimmt, ist eine andere Frage, aber zum Experimentieren,
bitte, gerne.
Der Thread ist 1 Jahr alt.