Here\'s the example (counting black ones):
input:

output:
At the beginning, each cell be "unvisited".
I would iterate through the cells until you meet an "unvisited" black cell. Each white cell you hit up to that point
Once you hit a black cell, you "expand" it to all directions if possible (similar to "floodfilling"). You expand as long as you can and mark all the visited cells as "visited". After you did that, you count how many black cells you infected, and you know how big the group was. After detecting the group, you go on to the next "unvisited" black cell.