|
|
Performance beim Weichzeichnen verbessern |
|
captaincaos |
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 07.12.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2016a, 2016b, 2018a
|
|
|
|
|
|
Verfasst am: 22.02.2017, 07:31
Titel: Performance beim Weichzeichnen verbessern
|
|
Hallo liebe Community,
ich habe ein Programm zur Bildverarbeitung/-auswertung geschrieben. Soweit funktioniert es auch, nur ist es noch zu langsam.
Die meiste Rechenzeit geht für das Weichzeichnen drauf, da ich jede Spalte der Bildmatrix einzeln weichzeichne. Es darf allerdings auch nur in vertikaler Richtung weichgezeichnet werden und nicht horizontal.
Der Code hierfür sieht momentan so aus:
Wie man sich bei diesem Code vorstellen kann, wird das ganze für hochauflösende Bilder schon ziemlich langsam. Das ganze dann noch für bis zu 100 Bilder... .
Meine Frage ist daher ob jemandem ein effektiverer Weg einfällt um Spaltenweise nur in vertikaler Richtung weich zu zeichnen.
Gruß
Frederik
OT: Kann mir jemand verraten wie die Autokorrektur (Groß-/Kleinschreibung) ausgeschaltet wird? Das nervt unheimlich, vor allem beim eingeben des Codes.
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 22.02.2017, 14:13
Titel: Re: Performance beim Weichzeichnen verbessern
|
|
Hallo captaincaos,
Die Auto-Korrektur gehört zu Deinem Browser, nicht zum Interface des Forums. Also such dort mal in den Einstellungen.
Du könntest den Gauss-Filter selber schreiben:
Wenn der Delay nicht passt, verwende:
Ich kann den Code gerade nicht testen und ich habe nicht die Image Processing Toolbox um die Ergebnisse zu vergleichen.
Gruß, Jan
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.02.2017, 14:56
Titel:
|
|
Hallo,
spätestens wenn das ganze für viele Bilder gemacht werden soll, bietet sich auch Parallelisierung an (for durch parfor ersetzen, benötigt Parallel Computing Toolbox).
Grüße,
Harald
|
|
|
captaincaos |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 07.12.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2016a, 2016b, 2018a
|
|
|
|
|
|
Verfasst am: 22.02.2017, 15:44
Titel:
|
|
Hallo,
danke erst mal für die Antworten.
@Harald: parfor war ein super Vorschlag, hat die Rechenzeit fast halbiert.
@Jan: Habe schon mal versucht das selbst zu schreiben, war ca. 5 mal langsamer. Mein Code dafür sah allerdings ganz anders aus als deiner, deswegen werde ich deinen Ansatz auch noch ausprobieren. Vielleich lässt sich damit noch was rausholen.
Gruß
Frederik
|
|
|
captaincaos |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 07.12.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2016a, 2016b, 2018a
|
|
|
|
|
|
Verfasst am: 23.02.2017, 09:46
Titel:
|
|
Hallo Jan,
ich habe deinen Vorschlag ausprobiert. Allerdings hat sich damit das ganze Bild nach unten verschoben??
Da ich mit Hilfe des Programms Höhen messen will kann ich diesen Effekt nicht gebrauchen.
Auch konnte ich deinen Vorschlag nicht mit dem von Harald kombinieren, da es da Probleme mit der parfor Schleife gab. Die Fehlermeldung hierzu lautete:
Zitat: |
The variable image in a parfor cannot be classified. |
Gruß
Frederik
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 23.02.2017, 10:18
Titel:
|
|
|
|
captaincaos |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 07.12.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2016a, 2016b, 2018a
|
|
|
|
|
|
Verfasst am: 23.02.2017, 15:02
Titel:
|
|
Hallo,
ich konnte die Rechenzeit mit Hilfe von Paralellisierung um ca. 60% reduzieren.
Deswegen setze ich diesen Tread mal auf beantwortet und danke euch beiden herzlich für die Hilfe.
Bis zur nächsten Herrausforderung
Frederik
|
|
|
|
|
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.
|
|