LabVIEWForum.de
Bildverarbeitung - Automatisch Beschneiden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: Bildverarbeitung - Automatisch Beschneiden (/Thread-Bildverarbeitung-Automatisch-Beschneiden)



Bildverarbeitung - Automatisch Beschneiden - Marius89 - 22.01.2019 09:53

Guten Morgen,

ich suche jetzt schon eine ganze Weile nach einer Lösung:

Ich messe die Fläche verschiedener Blendenöffnungen. Es gibt Blenden, bei denen außen weiße Stellen sichtbar bleiben und welche,
die ein weiteres Loch (zum Verschrauben) haben. Ich will immer nur die Öffnung in der Mitte messen:

Bislang habe ich den (umständlichen und langsamen) Weg über ImageJ genommen.
Da habe ich per makro den Mittelpunkt mit dem Zauberstab markiert, sodass die gewünschte Fläche makiert war,
dann die Fläche um 50 Pixel erweitert und das Bild in der größe beschnitten (gecroppt).

Ich kann zwar jetzt mit Vision die Fläche wieder markieren, aber kann dann die Werte nicht benutzen (z.B. als ROI) oder verändern und weitergeben.

Die Markierung in Blau ist der gewünschte Ausschnitt, den ich speichern will.


Würde mich über jede Anregung freuen

LG
Marius


RE: Bildverarbeitung - Automatisch Beschneiden - Trinitatis - 27.01.2019 00:19

Hallo Marius,

es wäre schön gewesen, wenn du uns wenn schon nicht ein VI, dann wenigstens die Rohdaten irgendwie zur Verfügung gestellt hättest. In Ermangelung dieser Daten habe ich einfach die von dir angehängte Grafik als jpg abgespeichert und dann eingelesen, binarisiert und aus diesen Daten die Konturen extrahiert. Aus allen Konturen habe ich dann die größte Kuntur extrahiert.
Wenn also der gesuchte mittlere Bereich auch der längsten Kontur entspricht, funktioniert es so. Anderenfalls müsste man die zentralst liegende Kontur ermitteln.

Die Binarisierungsschwelle müsste man ggf. nochmal prüfen - das hängt dann von den Rohdaten ab.

Gruß, Marko

anbei ein Screenshot meiner Gedanken...


RE: Bildverarbeitung - Automatisch Beschneiden - Marius89 - 29.01.2019 08:54

Hallo Marko,

vielen Dank für deine Mühe! Habe in der Zwischenzeit auch eine Lösung gefunden.
Lade mal alles hoch, falls es auch für andere interessant ist.

Die Rohdaten "X_27_013_640px.png" sind eigentlich .tif-Dateien, konnte ich nur nicht hochladen.
Die Originaldatei hat eine höhere Auflösung, habe ich nur für die Übersicht verkleinert.

So kann ich jetzt automatisch jede Fläche extrahieren die sich in der Mitte befindet.

Das einzige Problem ist jetzt noch, dass die Koordinaten rechteckiger Flächen (wie im Beispiel) nicht die leichte Verdrehung berücksichtigen.
Wenn der Rand nicht groß genug eingestellt ist, wird dann ein Teil der Fläche abgeschnitten.

Wenn dazu evtl. noch jemand eine Idee hat? Dann könnte ich den manuellen Schritt auch noch weglassen.

Viele Grüße
Marius


RE: Bildverarbeitung - Automatisch Beschneiden - Marius89 - 30.01.2019 06:57

EDIT:
Das Problem tritt nicht nur bei rechteckigen Flächen auf - bei größeren runden ebenfalls.
Ich finde den Fehler aber nicht.

Dazu habe ich noch ein zweiten Beispiel angehängt (zum Testen müssten die .png als .tif gespeichert werden)