Собственно, есть некоторое изображение (bmp/jpg/png) которое содержит в себе некоторое количество объектов с ломанными границами. Объекты находятся на изображении как угодно (могут находиться очень близко друг к другу), но не пересекаются.

Стоит задача программно разбить это изображение на множество других изображений, каждое из которых будет содержать в себе отдельные монохромные элементы.
Какие алгоритмы можете посоветовать?
Может есть что-то в OpenCV, что позволит узнать координаты крайних точек (x1,y1,x2,y2) и уже с помощью, например,
QImage->copy скопировать выбранный фрагмент и из QImage сохранить его (передать другому компоненту).
P.S> В размышлениях придумал вариант заносить данные в двумерный массив (черный цвет - 0, белый - 1) и уже из него каким-то образом выделять группы нулей и записывать их ещё куда-нибудь. Соответственно, из куда-нибудь опять превращать в файл и сохранять (работать далее с ним). Что может быть лучше этого варианта?