При обнаружении символов у вас будут свои соответствующие ограничивающие рамки. Есть некоторые предположения, которые нужно сделать, например, знание приблизительного масштаба символов, назовем его S - вы можете сделать это из размера всех обнаруженных ограничивающих полей.
Исходя из этого, вы можете попробовать следующее:
- для каждого обнаруженного ограничивающего параллелепипеда (D_bbox), определить диапазон поиска от центра ограничительной рамки ± 2 * S
- в этой категории (O_bbox), от других обнаруженных символов
- для каждого центра, найденного в области поиска, вычислите соотношение между D_bbox и O_bbox. Размер показателя символ должен быть меньше, чем число => D_bbox/O_bbox> 1.
Я бы сказал, что это должно быть около 1,5, но это зависит от шрифта и т.д. Поиграйте с ценностями и посмотреть, что Вы получаете.
некоторые другие эвристики, которые могут помочь:
- D_bbox_centre_x < O_bbox_centre_x
- D_bbox_centre_y < O_bbox_centre_y
Число всегда слева от экспоненты, и это центр всегда ниже на чем центр экспоненты.
Я бы не попытался обнаружить скобки, потому что могут быть экземпляры, в которых вы не используете их для записи экспоненты.