Создаём приложение на С++ с использованием Tesseract-ocr, MinGW и напильника
6 мин
Так случилось, что понадобилось нам внедрить в своё приложение возможность распознавания текста, поэтому начались поиски подходящей библиотеки. В конечном счёте остановились на двух опенсорсных проектах CuneiForm Linux и Tesseract-ocr. Внимательное изучение проекта CuneiForm показало, что это просто порт продукта компании Cognitive Technologies, исходники которого они открыли в 2008 году и благополучно забили получив свою порцию внимания (во всяком случае такое сложилось впечатление). По сути весь проект состоял в портировании, а о новых фичах даже речи не шло. Всё это, вкупе с печальной новостью на страничке проекта, заставило нас отказаться от CuneiForm в пользу Tesseract, который в данный момент принадлежит Google, что даёт некоторую уверенность в будущем проекта. Под катом опыт сборки Tesseract-ocr под Windows с использованием MinGW и последующего создания простейшего приложения на С++.
В данной статье я коснусь базовых принципов, как работать с изображениями. Для этого я выбрал библиотеку
Получилось так, что мне довелось оптимизировать код кластерной задачи, которая входила в состав Большого Кластерного Алгоритма и занималась весьма простой вещью: входной поток из n полей нужно было в зависимости от содержимого полей переразложить в выходной поток из m полей и почти успокоиться. Почти — потому что внутри полей были строчки произвольного вида, которые нужно было «очистить» — провести простейшую, казалось бы, операцию удаления всех управляющих символов из строки.



Все мы слышали анектоты про мужиков, которые напильниками допиливали память чтобы в материнку влезла, не раз радовала нас эта шутка в разных вариациях… Однако, понадобилось мне тут на досуге кое-что посчитать (жесткачь полный, но об этом отдельная история) — в материнке у меня 3 штуки PCI-E x16 (и 2 x1), но нижние 2 стоят так, что туда только одну карту поставить можно (двухслотовую), как ни крути. А нужно 3 — на двух считать, а на третьей чтобы десктоп не тормозил.
Как и было обещано в