а нельзя тыркаться по картинке, пока не попадём в чёрный пиксель? Затем можно было бы перебирать соседей, пока они не закончатся, ну или пока не дойдём до того пикселя, с которого начали. Если дошли - фигура замкнутая. А потом можно было бы для каждой х-координаты находить максимум и минимум по у-координате, а всё, что между ними и не чёрное, закрашивать в красный.