Ich bin total festgefahren in Bezug auf die Segmentierung glasartiger Objekte. Ich muss das Objekt so genau wie möglich machen. Meine Ansätze waren unterschiedlich. Zuerst habe ich versucht, den Hintergrund zu entfernen, so dass nur noch einige scharfe Konturen übrig sind. Dies funktioniert jedoch nur für Objekte mit scharfen Kanten / Verläufen. Andernfalls wird auch das Objekt selbst entfernt. Ich habe zwei verschiedene Bilder gepostet.
Ich habe versucht, den Hintergrund durch morphologische Operationen wie Graustufendilatation und eine Teilung darauf zu entfernen. aber es hat nicht viel geholfen. Danach habe ich ein k-Mittel mit k = 3 ausprobiert, um den modifizierten Hintergrund von den Grau- und Schwarzwerten des Glases zu trennen. Das war in einigen Fällen nicht erfolgreich, aber nicht insgesamt / im Durchschnitt. Ich habe auch versucht, eine knifflige Kantenerkennung mit einem insgesamt verwischten Filter durchzuführen, aber das führte zu schwächeren Ergebnissen in Form offener Konturen, viel Rauschen usw. pp.
Canny mit automatischen Schwellenergebnissen:
testimg = imread('http://i.imgur.com/huQVt.png');
imshow(testimg)
imedges = edge(testimg,'canny');
imshow(imedges);
Gleiches gilt für das zweite Bild.
Wie Sie sehen können, gibt es innen und außen viel Lärm und doppelte Kanten von der Glasgrenze. Auch gibt es Lücken in den Kanten.
Ich brauche also Ihre Ratschläge, um einen allgemeinen Ansatz für die Behandlung dieses Problems halbtransparenter Materialien zu finden, nicht nur für diese beiden Bilder.
1) Andere Ideen zum Entfernen des Hintergrunds, ohne das Objekt zu beschädigen?
2) Andere Segmentierungsmethoden, um das Objekt vom Hintergrund zu trennen?
Wenn es möglich ist, dann mit Matlab, IPT oder statistischen Toolbox-Hinweisen. Alle anderen Hinweise sind ebenfalls willkommen!
Vielen Dank für Ihre Antwort im Voraus. Mit freundlichen Grüßen