Шпионские страсти (том3)...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Terarist
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 154
Зарегистрирован: 03.02.2003 (Пн) 18:28
Откуда: Russia

Шпионские страсти (том3)...

Сообщение Terarist » 14.05.2003 (Ср) 15:50

Народ расскажите принцип по каторому файнридер распознаёт текст и желательно как это осуществить на ВБ, ну хотябы принцып, а то еслиб я сказал без кода то модератор бы делнул мой топик...???

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.05.2003 (Ср) 16:17

Модератор все скажет пару слов:

1) Название топиков "шпоинские страсти" как то не очень отвечает смыслу того что в них написано.

2) Ты бы еще попросил луну с неба ;) (это я по поводу этого топика).

Terarist
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 154
Зарегистрирован: 03.02.2003 (Пн) 18:28
Откуда: Russia

Сообщение Terarist » 14.05.2003 (Ср) 16:20

Блин, ну если могёшь, то какие проблемы, атемой я намекаю на то чтобы потом не задавали вопросов "А зачем это тебе надо???"

Firestorm
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 946
Зарегистрирован: 02.05.2002 (Чт) 14:36
Откуда: Russia

Сообщение Firestorm » 14.05.2003 (Ср) 18:39

всяка это делается путём попиксельного сравнения, типа к какому символу больше подходит :lol:
...просто гламурный падонак...
_________________
reborn! v.2 :twisted:
_________________

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.05.2003 (Чт) 11:52

Качни нейронную сеть распознавания символов с vbstreets. А Файнридер не переплюнешь, и близко даже не доплюнешь, вот :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dino
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 20.03.2002 (Ср) 20:05
Откуда: Russia

Сообщение Dino » 15.05.2003 (Чт) 11:59

Не уверен, но думаю так. Берем, к примеру, отсканированный листик из "Шпионских страстей" :wink:, и начинаем анализировать эту картинку.
Для начала определяем строчки, это можно осуществить так: проводим виртуально вертикальную прямую и идем по ней сверху вниз. Смотрим 1-ый пиксел, записываем его цвет, смотрим 2-ой и т.д. Если последующий цвет пиксела отличается от предыдущего, то этот пиксел - есть цвет буквы (следует оговорится, что на листе нет картинок и цвет текста одинаков на всей странице). Теперь записываем высоту этой буквы (высота рассчитывается аналогично), то есть координаты верхних и нижних точек. Прибавляем по несколько пикселов сверху и снизу - это необходимо для заглавных букв и на случай еслистрока кривая. Таким же образом заносим в массив координаты всех строк на странице.
Теперь берем первую строчку. Проводим горизонтальные прямые по верхней и нижней границах первой строки, и, зная цвет буквы определаем ширину буквы. У нас получается, что буква теперь заключена в прямоугольник. Теперь просто необходимо сравнить этот прямоугольник с заготовленным массивом собственных букв-картинок и та в которой найдется больше всего совпадений и есть искомая буква и дальше таким же образом до конца строки. Где расстояние между буквами больше обычного, то это пробел между словами. И т.д. до конца страницы.
Все выше написанное есть сугубо личное предположение. Удачи.

lenar
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 23.08.2003 (Сб) 14:34

Сообщение lenar » 25.08.2003 (Пн) 23:20

А давайте соревнование устроим. Напечатаем в ворде 1 лист текста ,сохраним его в gif. И кто точнее его прочитает (т.е. окно разделено напополам вертикальной чертой, слева рисунок, справа текстбокс). Жмем кнопку и в текстбоксе после долгих и мучительных [милисекунд, секунд, минут, часов] появляется текст нарисованный слева. :)
The best from the VB

ShadowCaster
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 24.05.2002 (Пт) 10:52

...

Сообщение ShadowCaster » 26.08.2003 (Вт) 0:45

Писал я когда-то пародию на одну прогу, распознающую "зигзаги" мыши, введённые пользователем - недурственно получилось... :) ...но вот винт взял и полетел... :evil:

Георгий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 08.08.2003 (Пт) 15:08
Откуда: Россия

Сообщение Георгий » 26.08.2003 (Вт) 9:37

Файн ридер использует (по словам разработчиков) супер-пупер крутую технологию по целенаправленному :?: распознованию.
...

Для подобных вещей люди давно используют упомянутые выше сети.
Но есть два момента, на которые стоит обратить внимание:
1) Нейросеть нуждается в обучении и эффективность ее работы напрямую зависит от количества наборов, на которых осуществлялось обучение (берешь 10000 написаний одной буквы, скармливаешь их сетке, порядок :lol:).
2) Что-то подсказывает мне, что FR не на VB писан :roll:
Origin - это что?

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 26.08.2003 (Вт) 22:56

Я вот что думаю ....
Скорее всего попиксельно, но тогда тебе надо будет помучится и содать Базу данных образцов .... с учётом Типа шрифта ... наклона и размера .... ну это не сложно всё автоматизируется ....
Метров на 10 минимум получится .... хотя если у тебя прога будет сначала искать размер шрифта потом сравнивать ....
то минут 20 уйдет на лист :lol: )))
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Георгий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 08.08.2003 (Пт) 15:08
Откуда: Россия

Сообщение Георгий » 27.08.2003 (Ср) 8:14

Можно также разделить ообласть на строки, исходя из изменения интенсивнсти (например, в подсистеме зрения робота применялся градиент функции :shock: ) потом поделить на слова, подсчитывать ориентировочно число символов - по длине, и искать по словарю.

По шаблонам букв искать чтобы, нужно иметь немеренное разрешение, а файл будет занимать много места.
Origin - это что?

lenar
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 23.08.2003 (Сб) 14:34

Все таже...

Сообщение lenar » 06.09.2003 (Сб) 23:39

1. Переводим изображение текста в монохромный вид
2. Двигаемся с верхней середины листа к нижней, определяем положение строк
3. Выделяем по очереди каждую строку
+ Двигаемся от левой стороны строки вправо, определяем ширину букв
5. Выделяем по очереди каждую букву
+ Попиксельно исследуем область каждой буквы
+ В зависимости от того, в каком порядке нам попадались черные пикселы узнаем, какая это буква.

Все... легко и просто...жду готового кода... :)
The best from the VB

Георгий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 08.08.2003 (Пт) 15:08
Откуда: Россия

Re: Все таже...

Сообщение Георгий » 08.09.2003 (Пн) 16:17

lenar писал(а):1. Переводим изображение текста в монохромный вид
2. Двигаемся с верхней середины листа к нижней, определяем положение строк
3. Выделяем по очереди каждую строку
+ Двигаемся от левой стороны строки вправо, определяем ширину букв
5. Выделяем по очереди каждую букву
+ Попиксельно исследуем область каждой буквы
+ В зависимости от того, в каком порядке нам попадались черные пикселы узнаем, какая это буква.

Все... легко и просто...жду готового кода... :)


После перевода изображения в монохромное можешь больше ничего не делать - на этом распознование закончилось... неудачей...

Почему? посмотри в поисковиках слово "гистограммы интенсивность распознование"

Если бы все было так просто, то FR не стоило бы так дорого :shock:
Origin - это что?

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Шпионские страсти (том3)...

Сообщение qwertyhp » 01.02.2010 (Пн) 0:15

Как цветной рисунок программно сделать чёрно-белым (не монохромным, а именно - чёрно-белым)?
Пятачок Forever! :)

NeverGone
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 107
Зарегистрирован: 11.11.2007 (Вс) 21:05
Откуда: Москва

Re: Шпионские страсти (том3)...

Сообщение NeverGone » 01.02.2010 (Пн) 14:33

qwertyhp писал(а):Как цветной рисунок программно сделать чёрно-белым (не монохромным, а именно - чёрно-белым)?
ВНЕЗАПНО!!11111 :shock:
еще более древней темы не нашел?

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Шпионские страсти (том3)...

Сообщение qwertyhp » 01.02.2010 (Пн) 17:05

2NeverGone: прикольно, правда? А по теме - так я ея в поиске нарыл. А задача вот какая: есть код (автор не я) преобразования цветного рисунка в монохромный (градации серого), работает быстро, но нужен не просто монохромный рисунок, а именно чёрно-белый. Моя конечная цель - сделать оптическую систему распознавания, и там-то помощь не нужна - но вот с монохромностью я тормознулся. Кто знает - помогите!
Исходники в архиве прилагаю.
Вложения
GrayScale_edit.zip
Преобразование цветного рисунка в монохромный (в градациях серого)
(609.36 Кб) Скачиваний: 44
Пятачок Forever! :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 9

    TopList