|
|
Bildausschnitt umranden und äußeren Bereich entfernen |
|
Dave01 |
Forum-Anfänger
|
|
Beiträge: 42
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.06.2021, 23:58
Titel: Bildausschnitt umranden und äußeren Bereich entfernen
|
|
|
|
|
Hallo Zusammen,
wir haben gerade an einem Projekt und benötigen bitte ein wenig Hilfe.
Aktuell laden wir > 400 Bilder (sollen in Zukunft > 100.000 werden) in das Programm, diese werden zugeschnitten, nach Kreisen gesucht, der Abstand ausgerechnet und in ein xls. File geschrieben.
Da der Bildzuschnitt nicht immer funktioniert, da die Position der Teile im Bild variiert, möchten wir gerne nach einer Umrandung suchen, die einer "8" gleicht (siehe Anhang), hier finden wir aktuell keine Möglichkeit, diese "8" zu bestimmen und den Rest des Bildes zu entfernen (potentielle Fehlermöglichkeit bei der Kreiserkennung).
Zusätzliche Frage: Die Abarbeitung der Bilder wurde derzeit als FOR-Schleife realisiert, gibt es hierfür eine effizientere Abarbeitungsmethode (aktuelle Bewertung ca. 1sek/Bild inkl. Schreiben in xls.).
Vielen Dank vorab & liebe Grüße
Dave
Beschreibung: |
|
Download |
Dateiname: |
Anhang.png |
Dateigröße: |
28.68 KB |
Heruntergeladen: |
279 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.06.2021, 10:11
Titel:
|
|
Hallo,
zur Frage der 8 würde ich nach "Pattern Recognition" suchen.
Eine Alternative zu for kann
imageDatastore
sein. Meine Vermutung ist aber, dass weniger die for-Schleife an sich als deren Inhalt das Problem darstellt. Mit dem Profiler kannst du sehen, welche Zeilen die meiste Zeit benötigen.
Falls das Ergebnis eine Excel-Datei für alle Bilder sein soll, würde ich die Daten innerhalb von MATLAB sammeln und am Ende nach Excel schreiben.
Falls das Ergebnis eine Datei pro Bild sein soll, würde ich statt xls(x) ein anderes Format, z.B. csv (kann auch in Excel schön geöffnet werden) wählen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Dave01 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 42
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.06.2021, 10:43
Titel:
|
|
Vielen Dank, werden wir uns ansehen
Harald hat Folgendes geschrieben: |
Falls das Ergebnis eine Excel-Datei für alle Bilder sein soll, würde ich die Daten innerhalb von MATLAB sammeln und am Ende nach Excel schreiben.
Falls das Ergebnis eine Datei pro Bild sein soll, würde ich statt xls(x) ein anderes Format, z.B. csv (kann auch in Excel schön geöffnet werden) wählen.
|
Das Ergebnis ist eine Auflistung der berechneten Kreis- Abstände in einer Excel Spalte. Für uns ist es nicht notwendig die Bilder zu speichern.
Danke schonmal!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.06.2021, 10:59
Titel:
|
|
Hallo,
eine andere Möglichkeit noch: eine Kreuzkorrelation (xcorr2) mit einer 8, so wie ihr sie zu sehen erwartet, als Vorlage.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Dave01 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 42
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.06.2021, 19:57
Titel:
|
|
|
|
|
Guten Abend!
Wir haben nun einiges probiert: Mit dem Profiler haben wir herausgefunden, welcher Schritt lange dauert und konnten so die Bewertung pro Bild von 1 sek auf 0,4 sek reduzieren, Prima! Wir hatten vorher in der Schleife in die xls geschrieben, jetzt speichern wir alles in eine Matrize und Schreiben es am Schluss in die xls. Danke, so passt das schon ganz gut!
Mit der 8- Suche haben wir noch ein paar Schwierigkeiten, mit den genannten Funktionen sind wir leider noch nicht weitergekommen, hätten aber eine Alternative als Vorschlag (imfindcircles, siehe bitte Anhang).
Das linke Bild zeigt die Suche der zwei Achterkreise, diese sind auch einfach zu finden weil sie mit der Größe im Bild einzigartig sind. Wenn wir anschließend die zwei kleinen Kreise finden möchten, variiert das Ergebnis zwischen den drei Kreisen, im Bild rechts dargestellt (auch wenn mit den Funktionen centers, radii, metric die Suche auf zwei Kreise reduziert wird).
Besteht die Möglichkeit, das Bild außerhalb der zwei gefunden Achterkreise Schwarz einzufärben?
Viele Grüße
Dave
Beschreibung: |
|
Download |
Dateiname: |
Kreissuche.png |
Dateigröße: |
9.69 KB |
Heruntergeladen: |
281 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.06.2021, 21:58
Titel:
|
|
Hallo,
wenn die Verarbeitung der Bilder voneinander unabhängig ist, kann
parfor
eine weitere Beschleunigung liefern.
Zitat: |
Besteht die Möglichkeit, das Bild außerhalb der zwei gefunden Achterkreise Schwarz einzufärben? |
Sollte mit logischer Indizierung gehen. Mit x und y als Pixelvektoren bzw. -matrizen, Kreismittelpunkten (x1,y1) und Radius r1 und entsprechend für den zweiten Kreis:
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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.
|
|