Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
Макс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 вся ветка

Форум: "Media";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
3-30315
Горец
2003-03-24 01:51
2003.04.10
Связь БД с Excel...


3-30255
SZap
2003-03-20 14:07
2003.04.10
Не могу работать с базой на двух компах...


1-30352
OxOTHuK
2003-03-29 07:37
2003.04.10
Передача данных в Консоль


3-30289
Наташа
2003-03-22 13:56
2003.04.10
выбор транзакции.


1-30392
Павел
2003-03-30 09:16
2003.04.10
Stretch неработает?!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский