Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/67: Рейтинг темы: голосов - 67, средняя оценка - 4.70
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841

Распознавание текста на картинке

24.08.2012, 20:55. Показов 13839. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Кто знает как написать функцию по распознаванию текста на картинке? И так с чем имеем дело фон: полупрозрачный серый, шрифт: один и тот же, но разноцветный. Собственно картинка jкно чата с какой нибудь онлайн MMOPRG. Просто друг попросил что бы все сообщения в чате сохранялись в отдельный файл. У кого какие предложения? Желательно с примерами))

Добавлено через 10 минут
Выглядит примерно так:
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.08.2012, 20:55
Ответы с готовыми решениями:

Распознавание текста
народ всем привет) подскажите пожалуйста литература, а если быть точнее как написать сканер текста( приложения) в каком направлении капать?...

Распознавание текста
Здравствуйте. Пишу программу которая получает данные от другой программы (игры). Из памяти данные извлечь не получилось (запутано все много...

Распознавание текста на картинке
Среда Windows XP'2003 File с расширением .mhtml содержит снимок, на котором имеется около 100 строк кода. Не имея сканера как с...

19
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
24.08.2012, 20:59  [ТС]
Вот :
Миниатюры
Распознавание текста на картинке  
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
24.08.2012, 21:00  [ТС]
Плюс там два оттенка синего, зелёный , жёлтый и ещё какой то цвет текста.
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
24.08.2012, 21:04
ВОТ
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
24.08.2012, 21:12  [ТС]
Итал эту и пару тройку похожих тем на этом и множество тем на других форумах... Пока что "воз поныне там"))

Добавлено через 5 минут
Да и из той тему что вы мне дали прога "распознование текста" сделал на тестовом рисунке две красные полосы и загнулась прога))) А для вагонов попробывать не могу т.к. Delphi не шипко, а вернее никак)
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
25.08.2012, 12:09
линейку вспоминаю как страшный сон
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.08.2012, 12:18
Распознование не простая задача....

Может стоит подумать о прямом доступе к тексту...
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
25.08.2012, 13:01
Avazart, пакеты чата уже давно расшифровали.
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
25.08.2012, 14:47  [ТС]
QVO , проблема в том что сейчас даже на самых заурядных серверах, стоит защита, и при попытке отловить пакет, игра вылетает. Мы ему пытались через програмку там одну сделать, спрятали процесс этой проги, после минут 3-х работы игра всё равно вылетела.. Так что прямого доступа к покетам чата я получить не могу.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.08.2012, 14:54
Да поидее можно... тебе ж не нужно подменять пакеты, а только читать их...

Но я такое не делал точно сказать не могу....
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
25.08.2012, 14:57  [ТС]
Не, пробовали мне читирить... Самой игре всё равно что делается с пометами... она просто просматривает процессы, а т.к. в принципе в разных программах для захвата применяется одно и тоже, то после анализа всех процессов и нахождения одной их таких программ, она просто вылетает...
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.08.2012, 15:01
Ну не знаю делать скрин а потом его распозновать помойму гиблый вариант...

Даже FineReader не даст необходимого результата... тем более нюансы со смешением,перекрытием и сворачиванием окна...никак нельзя обрабатать...
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
25.08.2012, 15:06  [ТС]
Ну я уже смог получить чёткий чёрный текст на белом фоне из этой картинки, определил положение последней строки. Натыкался на тему в которой распознание происходит путём сравнения с шаблоном... Так что я думаю добьёмся нужного результата)))
Не по теме: Горшки не боги обжигают
0
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 4
13.02.2013, 16:22
avazart, тут есть программа на C++ распознования теста на изображении ?
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
15.02.2013, 17:45
раз уж тема поднялась, то...
Цитата Сообщение от Avazart Посмотреть сообщение
Ну не знаю делать скрин а потом его распозновать помойму гиблый вариант...

Даже FineReader не даст необходимого результата... тем более нюансы со смешением,перекрытием и сворачиванием окна...никак нельзя обрабатать...
сейчас как раз занимаюсь, распознаванием текста как раз для Л2, (планирую бота написать... но в это планы)
а так, распознавание HP\MP\CP занимает 0 -15 мсек

ЗЫ... ищу единомышленников, кому это интересно
Миниатюры
Распознавание текста на картинке  
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.02.2013, 17:48
Цитата Сообщение от Gremlin Посмотреть сообщение
сейчас как раз занимаюсь, распознаванием текста как раз для Л2, (планирую бота написать... но в это планы)
На основе чего распознавание ?
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
15.02.2013, 17:51
там же идет статический текст... поверх всего остального.
преобразование в Black&White (по яркости яркость) просто сравнение с шаблоном...
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.02.2013, 17:54
Ну я такое тоже делал со сравнением по пикселям... только 100% совпадение часто падало до 97% и при малейшем смешении окна начинались проблемы.
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
15.02.2013, 17:58
Цитата Сообщение от Avazart Посмотреть сообщение
часто падало до 97%
это да, хочу доделать, чтоб ... какбы это сказать... текст по "хэшу" сравнивался

Цитата Сообщение от Avazart Посмотреть сообщение
при малейшем смешении окна начинались проблемы
(получаю позицию окна... и уже от него идет смещение на x\y)

раньше использовал Pixels[x][y] но теперь через ScanLine (на 75-90% быстрее работает), и разумеется меньше взаимодействия с визуальными объектами, а то тратиться еще и время на "отрисовку"
0
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
15.02.2013, 20:06
мне видится такой алгоритм:
1. Фильтрация. Нужно научиться распознавать, относится пиксель к тексту или нет. Возможные цвета текста нам известны, так что по значениям r g b пикселя сделать это не трудно. Тем более что фон тёмный, его значеня r g b должны сильно отличаться.

2. Найти строки. Начинаем анализ картинки с верхнего левого пикселя, двигаемся построчно. Анализировать строку не обязательно целиком, если мы после 50-го (к примеру) пикселя не встретили текст, логично предположить, что в этой строке пикселей нет текста. Если на пути встретится пиксель, относящийся к тексту - значит мы нашли верхнюю координату y i-ой строки. Далее ищем нижнюю координату y сточки текста (пока на пути встречаются пиксели цвета текста, значит строка не кончилась). Зная стандартную высоту строки, задачу можно упростить.

3. Найти символы. Поочерёдно анализируем все найденные строки текста. Регион, заключающий в себя строку текста, анализируем от верхнего левого пикселя, двигаемся сверху вниз. Аналогично пункту 2 находим левую и правую координаты x каждого символа.
(исключение составляет символ ", у него есть сквозной просвет по вертикали. Возможно есть и другие подобные символы)

4. Распознавание символов. Теперь для каждого символа текста нам известен ограничивающий его регион, и мы можем рассматривать их по отдельности. Если изображение не расплывается, и каждый конкретный символ всегда выглядит одинаково, то его очень просто сравнивать с шаблонами. Если изображение расплывчатое, то задача усложняется...

Добавлено через 9 минут
Взглянул на прилагаемый скрин из линейки. Если хорошо настроить фильтр, чтобы отличать пиксель символа от шума, который ореолом окружает каждый символ, то они всегда будут выглядеть одинаково, и распознавание не составит труда. А если сделать разрешения экрана меньше, то все объекты должны стать крупнее, шума должно стать меньше.

Добавлено через 1 час 7 минут
хотя на счёт разрешения экрана, кажется, я ошибся...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2013, 20:06
Помогаю со студенческими работами здесь

Распознавание текста на картинке
помогите плизз (((

Распознавание текста на картинке
Всем доброго времени суток! Столкнулся с такой проблемой - нужно распознать текст на изображениях. Изображения в формате .bmp и .pgn ...

Распознавание текста на картинке для Yahoo
Народ, така проблема: надо сделать прогу для распознавания текста на картинках яху, язык и среда реализации не важны. В каком направлении...

Распознавание объектов на картинке
Сейчас я попробую обяснить, если получиться; Нужно чтобы данные с картинки воспринимались как обьекты. Точнее, если на картине есть...

Распознавание фигур на картинке
Добрый вечер Необходимо закрасить фигуры на картинке разными цветами(или разными оттенками серого) и посчитать их количество Смогла...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru