Для этого есть очень интересный трюк.Во-первых, вам нужно убедиться, что вы получаете только два цвета в ваших BitmapData (порог поможет).После этого вы можете использовать getColorBounds вместе с floodFill , чтобы найти все пятна на изображении.Псевдокод будет выглядеть примерно так:
//Do the following until rect.width is zero.
rect = bmp.getColorBoundsRect(red);
//check the first row of pixels until you find the start of the blob
for(y = rect.y; y < rect.height + rect.y; y++) {
if(bmp.getPixel(rect.x,y) == red) {
bmp.floodFill(rect.x,y, green); // paint the blob green
blobs.push(bmp.getColorBoundsRect(green)); // get the green bounds and push a new blob
bmp.floodFill(rect.x,y, white); // clear it
break;
}
}