Objektezählung
Last updated
Last updated
Das Zählen von Objekten ist ein häufig auftretendes Problem im Bereich der Computer Vision. Dieses Tutorial lehrt Sie, wie Sie kreisförmige Objekte in einem bestimmten Bereich mithilfe konventioneller Computer Vision-Algorithmen zählen können.
Das Beispielbild ist bereits in AugeLab Studio im Ordner mit Beispielbildern als coins2.jpg Datei vorhanden.
Erstellen Sie einen Load Image Block in einem leeren Szenario mit dem unten gezeigten Beispielbild:
Als ersten Schritt müssen wir die Münzen vom Hintergrund trennen, indem wir den Image Threshold Block verwenden. Dies kann auch mit dem HSV Filter oder RGB Mask erfolgen, aber das Trennen der Farbflächen und das Erstellen eines binären Bildes reicht aus. Erstellen Sie die folgende Logik:
Da wir den Find Contour Block verwenden, um zu zählen, wie viele separate weiße Flächen existieren, wählen wir die Option THRESH_BINARY_INV, um das Bild zu filtern, und passen den Schieberegler an, um den Hintergrund zu filtern.
Es kann jedoch sein, dass die weißen Bereiche nicht perfekt voneinander getrennt sind. Die Verwendung des Find Contour Blocks würde ein falsches Ergebnis liefern:
Wie Sie sehen, gibt es im bereitgestellten Bild keine 14 Blockmünzen. Wir benötigen einen Algorithmus, um die weißen Bereiche zu trennen oder zu verkleinern. Dazu verwenden wir den Distance Transformation Block:
Die Distanztransformation berechnet, wie weit jeder Pixel von der weißen Farbdichte entfernt ist. Die Verwendung von Image Threshold erneut erzeugt unterschiedliche weiße Bereiche für jeden:
Nun sollte die Verwendung des Find Contour Blocks ergeben, wie viele Münzen wir im Referenzbild haben:
Das ist es! Jetzt wissen Sie, wie Sie jedes Objekt in einem bestimmten Bereich mit AugeLab Studio zählen können!