Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Сравнение картинок

Ответить
Настройки темы
C/C++ - Сравнение картинок

Аватара для laro4ka

Новый участник


Сообщения: 42
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подскажите, пожалуйста, как сравнить изображения букв, наподобие распознавания (Builder желательно)? Может, у кого-нить есть работающий код подобной программы? Пожалуйста! Очень нужно!!

Отправлено: 10:28, 24-11-2008

 
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


кода нет, идею подскажу:
1. допустим текст почти выровнен по строчкам горизонтально
2. вычисляешь высоту строчки - отсюда размер шрифта
3. рисуешь в картинку алфавит шрифтом данного размера
4. Начинаешь проходить строчки от начала до конца с шагом распознанной буквы
5. Для распознавания буквы используешь операцию кореляции
Код: Выделить весь код
double corr = 0.;
double mid1 = 0.;
double mid2 = 0.;

for(x=0; x<X; ++x)
  for(y=0; y<Y; ++y)
    mid1 += image1[x+x_offset,y+y_offset];

mid1/=X*Y;

for(x=0; x<X; ++x)
  for(y=0; y<Y; ++y)
    mid2 += image2[x,y];

mid2/=X*Y;

for(x=0; x<X; ++x)
  for(y=0; y<Y; ++y)
    corr+=(image1[x+x_offset,y+y_offset] - mid1)*(image2[x,y] - mid2);
та буква, у которой corr будет максимальным по модулю и есть мамая похожая. Нужно правда минимальный порог установить, вдруг неизвестный символ.
Работает эта процедура очень медленно. Надёжность как у файнридера тоже не гарантирую.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:48, 24-11-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для laro4ka

Новый участник


Сообщения: 42
Благодарности: 0

Профиль | Отправить PM | Цитировать


а если у меня картинка одной буквы, т е на картинке больше кроме нее нет ничего?

Отправлено: 12:11, 24-11-2008 | #3

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


значит проблем меньше. x_offset=0, y_offset=0, не надо пункты 1,2,4: сделать набор 33 букв (для нашего алфавита), посчитать 33 кореляции и выбрать максимальную

Отправлено: 13:13, 24-11-2008 | #4


Аватара для laro4ka

Новый участник


Сообщения: 42
Благодарности: 0

Профиль | Отправить PM | Цитировать


Большой спасип!!

Отправлено: 11:24, 25-11-2008 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Сравнение картинок

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка картинок alleclf Вебмастеру 2 25-09-2008 16:19
Разрешение картинок Surround Мобильные ОС, смартфоны и планшеты 3 06-10-2005 00:34
поиск картинок badze Хочу все знать 5 29-03-2004 09:34
Сохранение картинок Guest Хочу все знать 2 16-03-2004 19:25
Прелоад картинок Vampire Вебмастеру 2 18-11-2003 23:58




 
Переход