Finden von Linien

Nachdem der Fingerabdruck als sauberes schwarz/weiß-Bild vorliegt, müssen die einzelnen Linien gefunden und einzeln bearbeitet werden. Dies übernimmt die Klasse LineFinder.

Der Kernpunkt der Linien-Findung besteht aus einem Füll-Algorithmus in der Funktion Fill, der aus der Einsprung-Funktion Find heraus aufgerufen wird. Dort wird zuerst nach einem schwarzen Pixel gesucht und dann diese Fläche solange "gefüllt", bis sie vollständig abgetastet ist. Anstatt diese zusammenhängende Fläche mit einer Farbe zu füllen, ist es die Absicht dieses Verfahrens, die Fläche (also einen Linienzug) in einen Bildpuffer zu kopieren, um ihn dort weiterzubearbeiten. Nebenbei wird er natürlich im Eingangsbild markiert, um ihn nicht mehrfach zu verarbeiten.

Nachdem im Bildpuffer nun ein einzelnes Liniensegment liegt (wobei dies wegen Bildstörungen oder schlechter Kantendetektion durchaus mehrere zusammengewachsene Linien sein können), wird in der Funktion Thin über einen Skelettierungs-Algorithmus aus den relativ dicken Linien, die die Kantendetektion liefert, eine ein-Pixel breite Linie erzeugt. Diese läßt sich wesentlich leichter weiterverarbeiten.

Home