So erkennen Sie weiße Flecken mit OpenCV

Ich male ein Bild zum Testen:

Und ich möchte wissen, wie viele Blobs ich im schwarzen Kreis habe und wie groß die einzelnen Blobs sind (alle Blobs sind ~ weiß).

In diesem Fall habe ich zum Beispiel 12 Spots:

Ich weiß, wie man weiße Pixel findet und es ist einfach, die Reihenfolge von links zu überprüfen:

int whitePixels = 0;
for (int i = 0; i < height; ++i)
{
    uchar * pixel = image.ptr<uchar>(i);
    for (int j = 0; j < width; ++j)
    {
        if (j>0 && pixel[j-1]==0)   // to group pixels for one spot
            whitePixels++;
    }
}

Es ist jedoch klar, dass dieser Code nicht gut genug ist (Blobs können diagonal sein usw.).

Unterm Strich brauche ich also Hilfe: Wie kann ich die Blobs definieren?

Danke

Antworten auf die Frage(1)

Ihre Antwort auf die Frage