Входное изображение:

Ожидаемое изображение после рисования ограничивающих рамок:

Итак, мои действия были следующими:
- Прочитайте изображение, используя CV2
Код: Выделить всё
image_binary = cv2.imread(input_path, cv2.IMREAD_UNCHANGED)
- Используйте MSER (Максимально стабильные экстремальные области), чтобы определить все обнаруженные области и нарисовать ограничивающие рамки.
Код: Выделить всё
mser = cv2.MSER_create()
gray = cv2.cvtColor(image_binary, cv2.COLOR_BGR2GRAY)
regions, _ = mser.detectRegions(gray)
regions = [region for region in regions if (cv2.boundingRect(region)[3]
Подробнее здесь: [url]https://stackoverflow.com/questions/78247355/how-to-detect-lines-and-draw-bounding-box-of-that-line-on-handwritten-letters-us[/url]