|
|
dig.Bildverarbeitung unter Matlab? Hilfe!! |
|
hallo |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.04.2008, 13:26
Titel: dig.Bildverarbeitung unter Matlab? Hilfe!!
|
|
|
|
|
Hallo! bin neu hier. habe eine paar Fragen im Bereich der dig. Bildverarbeitung.
ist das richtig so, dass es langsamer ist, wenn man unter Matlab digitale Bild verarbeiten würde. Kollege sagt mir, dass MATLAB auf Matrix basiert. ist langsamer als C. stimmt es wirklich? (weil ich später eine Echtzeit System zusammenbauen sollte, Zeitfaktor ist für mich ganz wichitg. )
und noch eine Frage, hat jemand schon mal mit Korrelation gearbeitet.("Korrelation" kommet aus Digital Bildverarbeiten, heißt Ähnlichkeit ich glaube....) ich versuche gerade zwei Fotos zu vergleichen, (eigentlich zwei Kreise aufs Foto) ,Weil die beide Fotos bei unterschiedlich Zeitpunkt aufgenommen wurden, kann es passieren, dass die Form von Kreis mit der Zeit sich verändernt(chemie. Processe.). Und ich solle ausfinden, ob diese "Kreis" noch Kreis heißen darf, (Korrelationkoffizienten ausrechnen.) Und ich habe auch schon ein paar Sachen gelesen, aber unetr Korrelation wird sehr viele von Nachrichtentechnik gesprochen,
kann es sein, dass ich die Sachen total falsch verstanden habe? kennt jemand gut aus in Dig. Bildverarbeitung, wäre super, wenn du mir ein paar Hinweise geben kannst, oder LiteraturVerweise.
besten Dank!
|
|
|
|
|
mauskill2 |
Forum-Anfänger
|
|
Beiträge: 27
|
|
|
|
Anmeldedatum: 05.07.07
|
|
|
|
Wohnort: bei Paderborn
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 15.04.2008, 14:01
Titel:
|
|
|
|
|
Hallo,
das mit der Korrelation passt schon. Ganz einfach heißt Korrelation das man schaut wann die Signale gleich sind.
Das beste Beispiel dafür ist ein Messsystem zur Geschwindigkeitsmessung (ich komm aus der E-Technik ). Die Geschwindigkeit lässt sich bestimmen wenn der Weg und die Zeit, die ein Objekt braucht um den Weg zurückzulegen benötigt, bekannt sind. Der Weg wird jetzt festgelegt über den Abstand von zwei optischen Sensoren. Das Signal der optischen Sensoren (Helligkeit => Spannung) wird gemessen und anschließend Kreuzkorreliert (KKF). Diese KKF zeigt zu einem bestimmten Zeitpunkt einen sehr hohen Ausschlag an dem Punkt wo sich Signal 1 und Signal 2 ähnlich sind (ein Objekt verursacht ja änliche Signale in den Sensoren). Der Zeitpunkt dieses Ausschlages im sogenannten Verschiebezeitraum (Der Raum der Verschiebezeit) ist gleich der Zeit die vergeht, die dass Objekt zwischen dem Sensor eins und zwei braucht. Dieses Messprinzip wird vielfach Praktisch angewendet (Messung der Geschwindigkeit von Schüttgütern, Abfällen, Abwasser usw.).
Such einfach mal nach Kreuzkorrelation oder so bei Google oder wiki, sind ein paar informative Sachen bei.
Ich kann mir nicht vorstellen das Matlab eine "schnelle" Programmiersprache ist, da bin ich mir aber nicht sicher.
Zum Thema Bildverarbeitung und Bücher kann ich
- Digitale Bildverarbeitung von Bernd Jähne ISBN 3-540-41260-3
- Digital Image Processing von Rafael C. Gonzalez und Richard E. Woods ISBN 0-130-94650-8
empfehlen wobei ich nicht weiß ob das Thema KKF in den Büchern behandelt wird. Haben mir nur bei dem Fach Digital Image Processing an der UNI geholfen. Die Übungen in dem Fach waren übrigends in C++ und nicht in Matlab
Grüße
Mauskill2
|
|
|
gargamel |
Forum-Fortgeschrittener
|
|
Beiträge: 59
|
|
|
|
Anmeldedatum: 07.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.04.2008, 20:11
Titel:
|
|
zum thema matlab und schnelligkeit kann ich nur sagen vergiss es. bei anderen programmiersprachen wird der code kompiliert und erst dann ausgeführt, matlab macht das kompilieren erst beim ausführen selbst, da ist mindestens ein faktor 10 dahinter was matlab lnagsamer ist als c oder c++.
matlab wird im prinzip dazu verwendet um zu schauen ob das ganze möglich was du machen willst, es geht recht einfach und mann kann einzelne sachen ausprobieren ohne den fertigen code zu haben, von dem standpunkt her ist matlab sehr nützlich aber vollkommen ungegeignet für industrieanwendungen.
zum thema bildverarbeitung kann ich dir eventuell helfen, ich bin an meiner uni selbst am institut für automation beschäftigt und im bereich bildverarbeitung involviert. wenn du konkrete fragen hast schreib mir einfach eine pn.
|
|
|
hallo |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.04.2008, 07:59
Titel:
|
|
Danke für die hilfereich Hinweis!! bin wirklich ein Stück weiter gekommen.
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 16.04.2008, 09:06
Titel:
|
|
wie schon gargamel erwähnt hat - MATLAB ist eine Prototyping sprache, die in erster Linie für die Forschung und Entwicklung eingesetzt wird. Was jedoch die Performanceunterschied angeht kann ich nicht zu stimmen. Ich streite zwar nicht ab, dass es langsamer ist als C, aber nicht um Faktor 10. Das war vielleicht mal der Fall vor paar Jahren mit älteren MATLAB Versionen. Der Unterschied fällt bei weitem nicht mehr so auf.
Entscheidend ist jedoch im Endeffekt wie man sowohl mit C, als auch mit MATLAB programmiert. Sitzt ein eingefleischter C-Programmierer vor MATLAB dann nix gutes raus. Der Code ist womöglich noch langsamer als 10xFach. Ist der C-Code schlecht programmiert, dann darf man auch nicht viel erwarten.
Ich will damit sage - Einsatz von C gegenüber von MATLAB ist noch kein Garant für die Performance. Es kommt auf die details an.
MfG
|
|
|
Dr. Frank |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.04.2008, 15:56
Titel:
|
|
Hallo,
ich arbeite täglich mit Matlab und habe, was die Geschwindigkeit betrifft, auch vergleichende Tests mit C-code gemacht. Es ist so: Matlab ist nur 10-20% langsamer als C. Aber nur dann, wenn man "richtig" in Matlab programiert! Das heisst konkret: Ausnutzung der internen Matritzenoperationen wann immer möglich und möglichst nie FOR-Schleifen etc verwenden.
Also: A=B.*C und nicht: for n=1:m; A(n)=B(n)*C(n);end
Der Befehl 'meshgrid' ist dabei sehr nützlich, um auf bestimmte Elemente einer Matrix zuzugreifen. Z.B. einen Kreis mit Radius 100 in einer 512x512-Matrix erzeugen ohne FOR etc:
[x y] = meshgrid(1:512,1:512);
rsquare= (x-255).^2 + (y-255).^2;
kreis = double(rsquare <= 100^2);
Gruß
-Frank-
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 17.04.2008, 16:11
Titel:
|
|
Hallo alle zusammen,
da kann ich outsider und Frank nur zu stimmen.
Wenn man richtig programmiert unter Matlab, dann sind Performance-Unterschiede nur geringfügig.
|
|
|
Brettlknaxer |
Forum-Anfänger
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 30.04.13
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: 2021b
|
|
|
|
|
|
Verfasst am: 02.08.2017, 12:36
Titel: Literatur Digitale Bildverabreitung
|
|
Hallo miteinander,
ich möchte nochmal des Thema der Literatur zur digitalen Bildverarbeitung aufgreifen. Gibt es Literaturempfehlungen, wo etwas tiefgründiger auf die digitale Bildverarbeitung mit Matlab eingegangen wird? Gern auch mit Übungsbeispielen.
Beste Grüße,
Brettlknaxer
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.08.2017, 14:09
Titel:
|
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 02.08.2017, 14:09
Titel:
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|