2016-05-23 6 views
1

Ich versuche rechteckige Formen in C# und mit aforge.net zu erkennen.Erkennen von Rechtecken in Bild C#

Das Problem ist nicht die Erkennung selbst. Es ist ein zuverlässiger Algorithmus zum Vorverarbeiten des Bildes zur Erkennung zu finden. Es gibt eine Menge von Rauschen in den Bildern:

original image

image processing so far

verwende ich eine SISThreshold und verschiedene Dilatation und Öffnungs Filter sowie Kantenerkennung. Das Quadrat zwischen 3 und 4 wird nicht erkannt. Ich denke wegen der unebenen Kante des Platzes.

Haben Sie einen zuverlässigeren Algorithmus oder einige Tipps, um meine Erkennung zu verbessern?

Antwort

0

Sie könnten versuchen, mit Erosion, um Rauschen loszuwerden, oder versuchen BradleyLocalThresholding anstelle von SISThresholding.

+0

Tatsächlich führt das BradleyLocalThresholding zu interessanten Ergebnissen. Ich habe mit diesem Filterschritt ein gutes Ergebnis erzielt: Kontrast nach oben; Gamma-Up; Graustufen; Bradley, Fillholes, Öffnung (zum Entfernen von Lärm), Dilatation, Fülllöcher. Dies führt zu perfekten Rechtecken. Danke für deine Antwort. –

+0

Ich glaube, dass Bradley gut für Bilder mit Farbverläufen ist, was anscheinend das Problem bei der Erkennung war. Froh, dass ich helfen konnte! –

Verwandte Themen