INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Zuverlässig Peak(s) im Bild finden



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

30.09.2010, 21:23 (Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2010 21:29 von Novgorod.)
Beitrag #1

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Zuverlässig Peak(s) im Bild finden
Hiho,

es handelt sich eigentlich um ein recht "simples" Problem, leider habe ich dafür noch keine wirklich zufriedenstellende Lösung gefunden..
Mein Programm soll die Position und Breite eines Elektronenstrahls auf einer großen Kamera (4k*4k, 16bit) bestimmen - es gibt immer nur einen Spot, dieser kann einige hundert bis einige zehn Pixel breit sein, hier mal ein Ausschnitt:
   

Ich fitte den Spot mit einer Gauss surface an, was eigentlich gut klappt, jedoch macht es natürlich nur Sinn, einen kleinen Bereich um den Spot herum zu fitten und nicht das ganze 4k*4k Bild (allein schon weils ewig dauern würde). Daher versuche ich im ersten Schritt die Position des Peaks grob zu bestimmen und eine gewisse Umgebung dieses Punktes fitten zu lassen; die Breite der Fit-Box drumherum lege ich erstmal manuell fest, da die zu fittenden Datensätze ziemlich gleichartig sind..
Nun ist es bei realen Messdaten ja so, dass sie teils verrauscht sind, der Peak evtl. schwach ist oder der Hintergrund nicht wirklich homogen. Noch schlimmer: manchmal gibts "kosmische Events" im Szintillator, wobei dann einzelne Pixel enorme Count-Werte bekommen (viel höher als der Elektronen-Peak, dafür nur 1-2 Pixel breit).
Meine Herangehensweise ist bisher folgende: Zuerst lasse ich 2 IMAQ Filter drüberlaufen (den lowpass und einen Gauss Kernel, jeweils 5x5). Danach werden X- und Y-Achse linear gemittelt (IMAQ LinearAverages) und der jeweilige Maximalwert ist die X- bzw. Y-Koordinate des Peaks.
Das funktioniert recht schnell (Wink.. Ich muss manchmal auch das Bild drehen, das verfälscht auch die Werte an den Rändern beim Mitteln..
Bei starken kosmischen Events reicht die Glättung durch die 2 Filter manchmal nicht aus und es wird der falsche Peak erkannt..

Gibt es eine elegante und wirklich zuverlässige Methode, die Position von Peaks zu erkennen (evtl. mit manueller Vorgabe von Mindest- oder Maximalbreite)? Ich hab auch schon an die Threshold-Funktion gedacht (bzw. davon gelesen), aber die liefert auch nur Maximalwerte und würde bei übersteuerten Pixeln nicht funktionieren, oder?
Ich hab noch nicht allzuviel Erfahrung mit Vision, vielleicht hab ich da nen genialen Trick übersehen und ihr könnt mir auf die Sprünge helfen...Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.10.2010, 19:47
Beitrag #2

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
Zuverlässig Peak(s) im Bild finden
Hi

Hast Du mal über eine Wavelet-Analyse nachgedacht? Ist nur eine Idee, könnte aber funktionieren.

Dabei werden kleinere Bilder erzeugt, die zunächst die niedrigen Frequenzanteile des Originals beinhalten und weitere mit den höheren Frequenzen. Damit sollte dem Rauschen beizukommen sein und die grobe Bestimmung der Startwerte für den 2D-Gaussfit möglich sein.

Gruß Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Kreis in Bild automatisch finden B.A.Baracus 0 4.292 17.03.2011 15:12
Letzter Beitrag: B.A.Baracus
  Partikelmittelpunkte finden mit "Find Circular Edge" Sirial 3 6.849 02.11.2010 10:37
Letzter Beitrag: gottfried
  32 Bit Bild in 8 bit Bild umwandeln Yvonne 3 11.706 21.02.2010 16:38
Letzter Beitrag: jg
  Kante finden Recon 3 6.111 12.07.2007 16:15
Letzter Beitrag: oenk

Gehe zu: