Задать вопрос

Библиотека для работы с изображениями в C++?

Я решил попробовать написать программу для распознавания изображений (для курсовика), а если быть точнее — цифр (база MNIST). Почитал что пишут разные люди по этой теме и решил, что чем выбирать абы как и что — надо подобрать хорошую либу, чтобы потом не переписывать 10 раз код и не проклинать себя в плохом выборе.

В какой IDE писать пока тоже не решил — на выбор у меня Borland C++ Builder 6 или MS Visual Studio 2008 Pro || 2010 Express.


Хочется услышать ответ на вопрос какую библиотеку/класс выбрать исходя из следующего:

1. Простая установка в описанные IDE или сложная, но хорошо (читай: пошагово) разобранная где-нибудь на офф сайте.

2. Быстрота работы с изображениями

3. Желательно русская документация, можно такой вариант: русская чуток устаревшая (книга, например, или просто сайт) и очень свежая английская

4. Хорошая документация, не просто пару строк о каждой функции, но и описание аргументов, возвращаемых параметров и

5. Обязательно примеры, examples, примеры.


P.S.: если вы где-нибудь видели сравнение либ для работы с изображениями, то поделитесь, пожалуйста. Я выгуглил только пару старых статей, да и ещё там до кучи субъективизма.
  • Вопрос задан
  • 18059 просмотров
Подписаться 9 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
bigbaraboom
@bigbaraboom
Честно говоря не очень понял, вам нужна библиотека для работы с графикой или библиотека уже которая заточена под нейронные сети?

Что касается графики, то определённо ImageMagick.

Что касается вашего курсовика, то вот вам в помощь старая статья, но очень понятная.

Нейронные сети, распознавание изображений (Журнал программист №10 за 2001 год)
Ответ написан
@Yakhnev
OpenCV — первое, на что нужно обратить внимание, много хороших примеров в самой библиотеке, должно хватить практически для всего
Ответ написан
bigbaraboom
@bigbaraboom
Ну тогда ImageMagick, быстрый, надежный и постоянно развивающийся повсеместно используемый на крупных проектах.
Ответ написан
Ничего не скажу о библиотеке, но расскажу одну историю. Мой хороший друг подрабатывал тем, что писал программы для дипломов и курсовиков. Одна девушка обратилась к нему с аналогичной проблемой — ей задали написать программу распознавания текстов.

Первое, что он сделал — разбил текст на строки, анализируя плотность точек в каждой строке пикселов.

Вторым шагом было была разбивка строк на знаки, причём, он учёл, что в современных шрифтах ширина разных символов может быть разной.

Наконец, найденные знаки он показывал пользователю и предлагал ввести с клавиатуры букву или знак, соответствующий изображению. Таким образом программа обучалась.

Результат был удивительный — после обучения программа показывала лучшие результаты, чем любые существующие на тот момент системы распознавания текста (1995 год).

Программа имела два недостатка — жесткая привязка к шрифту(ам), на котором(ых) производилось обучение. Чем больше шрифтов понимала программа, тем меньше была точность распознавания.

С тех пор прошло много лет. Жаль, что друг больше никогда не возвращался к этой теме. Его простая программа даже сейчас имела бы смысл для распознавания большого большого текста, напечатанного одним шрифтом, например книг.

Кстати, тоже не понимаю, зачем автору вопроса нужна библиотека для работы с изображениями — используйте монохромный BMP на входе «распознавалки». Смысл курсовика ведь не в работе с графическими библиотеками, а именно в распознавании текста.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы