Вам вообще не нужно писать код, вы можете сделать это с ImageMagick , который установлен на большинстве дистрибутивов Linux и доступен для macOS и Windows.
Просто вТерминал (Командная строка в Windows), вы можете запустить:
magick convert image.png \
-define connected-components:verbose=true \
-define connected-components:area-threshold=100 \
-connected-components 4 -auto-level output.png
Пример вывода
Objects (id: bounding-box centroid area mean-color):
0: 1200x714+0+0 651.2,369.3 703177 srgb(0,0,0)
164: 1200x86+0+714 599.5,756.5 103200 srgb(255,21,0)
2: 363x155+80+60 261.0,137.0 56265 srgb(255,255,255)
26: 127x323+60+302 122.6,463.2 39668 srgb(255,255,255)
54: 308x109+352+373 505.5,427.0 33572 srgb(255,255,255)
1: 102x159+641+47 691.5,126.0 16218 srgb(255,255,255)
53: 79x100+977+371 1016.0,420.5 7900 srgb(0,17,255)
Итак, глядя на строку, начинающуюся 0:
тампрямоугольник размером 1200x714, начинающийся с 0,0 (верхний левый угол) с черным цветом, т.е. srgb (0,0,0).
Если посмотреть на следующую строку, есть прямоугольник размером 1200x86, начинающийся с 714пикселей вниз от верхнего левого угла с красным цветом, то есть srgb (255,21,0).
и т. д.
Последняя строка представляет собой прямоугольник 79x100, расположенный в [977,31] с синим цветом, т.е. srgb (0,17,255).