Cómo detectar manchas blancas usando OpenCV

Pinto una imagen para probar:

Y quiero saber cuántos blobs tengo en el círculo negro y cuál es el tamaño de cada blob (todos los blobs son ~ blancos).

Por ejemplo, en este caso tengo 12 puntos:

Sé cómo encontrar píxeles blancos y es fácil verificar la secuencia desde la izquierda:

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++;
    }
}

pero está claro que este código no es lo suficientemente bueno (los blobs pueden ser diagonales, etc.).

Entonces, en resumen, necesito ayuda: ¿cómo puedo definir los blobs?

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta