Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
1-30362
Борис_Ш
2003-03-31 14:08
2003.04.10
После вызова формы, в которой Drag&Drop, не хватает памяти


3-30211
volodya_
2003-03-20 17:21
2003.04.10
Перекодировка Win->Dos и Dos->Win


14-30573
Flint
2003-03-25 10:15
2003.04.10
Как запустить ехе на другой машине ??


6-30505
Dmitry_A
2003-02-14 19:27
2003.04.10
Как по MAC адресу узнать IP адрес?


14-30525
NetKnight
2003-03-24 09:25
2003.04.10
Как создавать вындовые хелпы ?




   Наверх