PIL - это довольно простой пакет для работы с изображениями - он может загружать / сохранять кадрирование, выполнять базовые преобразования и т. Д., Но в нем полностью отсутствуют фильтры «информатики», которые являются базовыми для распознавания текста (они доступны в библиотеке Leptonica, используетсяпо Тессеракту).Если Tesseract не может распознать, что вам нужно, как вы заявляете в комментариях, приготовьтесь к действительно тяжелой работе, читая ваше собственное программное обеспечение для распознавания текста.
Если все, что вам нужно, это ограничивающие прямоугольники для каждого символа, это будетбыть на порядок проще - это может быть даже осуществимо с PIL, но опять же, с привязкой к Python-leptonica будет проще - вы можете использовать leptonica.functions.pixFindRectangleComps - heklp для функции:
pixFindRectangleComps(*args)
('PIX', '*pixs')
('l_int32', 'dist')
('l_int32', 'minw')
('l_int32', 'minh')
pixFindRectangleComps()
Input: pixs (1 bpp)
dist (max distance allowed between bounding box and nearest
foreground pixel within it)
minw, minh (minimum size in each direction as a requirement
for a conforming rectangle)
Return: boxa (of components that conform), or null on error
Notes:
(1) This applies the function pixConformsToRectangle() to
each 8-c.c. in pixs, and returns a boxa containing the
regions of all components that are conforming.
(2) Conforming components must satisfy both the size constraint
given by @minsize and the slop in conforming to a rectangle
determined by @dist.
(END)
Где pix - объект изображения библиотеки leptonica, а "boxa" - список прямоугольных объектов.
Я запустил привязки Python для Leptonica, в настоящее время доступные по адресу: http://code.google.com/p/pylepthonica/wiki/Home - у меня былос тех пор я не очень люблю эти привязки, но они должны хорошо работать для лептоники 1.67 (которой сейчас +/- два года)