Короче говоря, вы могли бы начать с алгоритма маркировки подключенных компонентов / областей.
http://en.wikipedia.org/wiki/Connected-component_labeling
В OpenCV вы можете вызвать findContours () для определения контуров, которые являются границамииз ваших подключенных регионов.
http://dasl.mem.drexel.edu/~noahKuntz/openCVTut7.html
OCR - чрезвычайно сложная задача, особенно для таких сценариев, как арабский.Создание алгоритма OCR с нуля требует много работы и множество алгоритмов работают вместе.Распознавание машинного печатного текста достаточно сложно.Реализация алгоритма для чтения почерка - это не то, что я бы посоветовал попробовать, пока у вас не будет года или двух опыта обработки изображений.Если вы еще не читали учебники и научные статьи по распознаванию текста, вы, вероятно, потратите много времени на воспроизведение уже выполненной работы.
Если вы не знакомы с отслеживанием контуров и / или блобоманализ, а затем работа с OpenCV не может быть хорошим первым шагом.Поскольку у вас есть конкретная цель, вы можете сначала попробовать разные алгоритмы в удобном графическом интерфейсе, который сэкономит вам время на кодирование.
Подумайте о загрузке ImageJ, чтобы увидеть, как работают алгоритмы.Существуют плагины для различных распространенных алгоритмов обработки изображений.
http://rsbweb.nih.gov/ij/