Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

Распознование изображений   Найти похожие ветки 

 
Макс1   (2003-01-03 15:01) [0]

Я пишу программу по распознованию изображений (например текста или рисунков). Если рисовать непосредственно в Delphi, то все очень просто: смотрим какие пискели черного цвета и далее пропускаем через алгоритм распознавания. Но я не знаю как распознавать отсканированное изображение: там цвета не точные (не точно черные и не точно белые). Подскажите пожалуйста, кто знает, как можно эту проблему решить??? Заранее благодарен !!!


 
Mihey   (2003-01-03 22:46) [1]

Самое простое - это сделать изображение чёрно-белым (не grayscale). Работе с изображениями учит сайт http://www.efg2.com.


 
KA_   (2003-01-04 10:19) [2]

Существует множество способов, например, медианная фильтрация.
А почитать можно на и русском http://www.graphicon.ru:8100/courses/cg02b/library/dspcourse.pdf


 
KA_   (2003-01-04 10:34) [3]

И вот еще ссылка: http://sevgtu.narod.ru/min/chapter3.htm


 
Макс1   (2003-01-04 19:22) [4]

Большое спасибо за помощь!
Я почитал и насколько понял там используется интенсивность цвета, которая должна изменяться от 0 до 1. Как можно в Delphi её изъять???


 
Mihey   (2003-01-04 21:13) [5]

Интенсивность цвета? В смысле, значения R, G и B цвета? Для это есть функции:

GetRValue(Color);
GetBValue(Color);
GetGValue(Color);

где Color - это переменная типа TColor.


 
Макс1   (2003-01-05 00:05) [6]

Нет, там не RGB (которые кстати - натуральные числа), а написано так:
Пусть мы имеем изображение в оттенках серого , интенсивность точек которого может принимать произвольные значения от 0 до 1. Первый самый простой алгоритм – это усечение. Все пиксели с
яркостью больше 0.5 получают яркость 1 (черный цвет), все остальные – яркость 0 (белый).
Может быть я чего-то недопонимаю. Объясните, пожалуйста, если кто знает в чем тут суть.


 
KA_   (2003-01-05 09:46) [7]

Интенсивность это корень суммы квадратов составляющих по RGB : E = sqrt(R*R + G*G + B*B).
Т.е. рассмотрим красный пиксель - его составляющие R=255 G=0 B=0
след. и его интенсивность = 255 :^)
Т.е. в зависимости от формата пикселя (24 бита, 8 бит и т.п.) получаем значения составляющих и вычисляем это E, а далее нормируем - делим на sqrt(3 * 255 * 255). Так и получим интенсивность от 0 до 1.


 
KA_   (2003-01-05 09:54) [8]

Но опять же если цвета нужны - распознаешь цветные рисунки - то нужно использовать медианную фильтрацию. Суть ее в том, что значения составляющих RGB одного пикселя усредняются по области вокруг него с какими-то коэффициентами.


 
Mihey   (2003-01-05 20:34) [9]

Кстати, по поводу распознавание изображении. Поищи через поисковик файл neuro40, запрограммированный человеком с ником imp. Там распознавание по образам.



Страницы: 1 вся ветка

Текущий архив: 2003.04.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
7-30631
Mixan
2003-02-16 00:58
2003.04.10
Как проиграть на голосовом модеме файл формата GSM?


1-30327
Rustik
2003-03-31 13:37
2003.04.10
Помогите с обрботкой события в ТЕdit


3-30248
Ghost_
2003-03-20 17:30
2003.04.10
Full dBASE expressions not supported


3-30303
Sirus
2003-03-23 10:43
2003.04.10
IBase 5.5 и IBase 6 на одной машине... Можно или нет???


1-30338
Alexander Vasjuk
2003-03-31 15:21
2003.04.10
Как разобрать метафайл по косточкам?