|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Andrianov 2:5020/1507.400 20 Feb 2003 22:08:32 To : Nikolay Bannich Subject : Re: Распознавание осцилограмм -------------------------------------------------------------------------------- Однажды 19-Feb-03 в 09:19 Nikolay Bannich (2:5080/1003) написал Sergey Andrianov по поводу -=- Re: Распознавание осцилограмм -=- NB> From: "Nikolay Bannich" <Nikolay@192.168.10.1> >> NB> Имеется ленты с оцилограмами необходимо преобразовать графики на них в >> NB> цифровой вид. >> NB> Hа входе имеется отсканированое изображение осцилограммы необходимо NB> полуть >> NB> в >> NB> виде массива цифр график с >> NB> осцилограммы. >> NB> Kаким методы принято для этого использовать ? >> NB> Интересуют также любые предложения по методике распознования графиков. >> >> Если считать, что осциллограмма идет слева направо, то в каждом NB> вертикальном >> столбце точек ищешь 1-2-3-n максимумов (или минимумов, если черный на NB> белом) и >> пытаешься из них построить непрерывную цепочку. Естаственно, в цепочке не >> обязательно будут содержаться только точки глобального максимума, часть NB> может >> быть из локальных. NB> Все осложняется тем что график и фон неоднородны по цвету и имеют множество NB> оттенков. NB> K тому же от осцилограммы к осцилограмме они есче могут и варьироваться. NB> Хотелось бы для начала NB> их разделить более четко с помощью какого либо фильтра максимально разделив NB> фон и графики. А простыми цветными фильтрами нельзя добиться результата? Hапример, если у тебя есть белая бумага с нанесенной на нее сеткой зеленого цвета (например, миллиметровка), а линии выполнены красным, то учитывая только зеленую составляющую, получим максимальную контрастность линий на фоне практически обесцвеченной сетки. Думаю, несложно написать программу, которая бы считывала фрагмент отсканированного изображения (или несколько) и пропускала его через цветовой фильтр, с изменяемими весовыми коэффициентами при различных цвтах (от -1 до 1). Результат выводила на экран в виде серого полутонового изображения. Желательно рядом показать оригинал. Ручками регулируя коэффициенты, можно попытаться подобрать режим наибольшей контрастности. Kстати, одновременно можно вычислять и "средний" цвет изображения. Вполне возможно, что перед обработкой следует вычесть из изображения именно средний цвет. Или просто скорректировать в зависимости от негно коэффициенты. NB> Вот только с помощью какого фильтра или метода это сделать я пока незнаю. NB> Желательно при фильтрации учитывать NB> что полезную информацию несут графики то есть длинные тонкие линии, не NB> маленькие темные отдельно стоящие точки или темные пятна а именно линии . Пятна можно выделить низкочастотным фильтром. Правда, что с ними делать потом? Допустим, убрать их можно, но как тогда быть, если линия пересекает пятно? С отдельными точками проще - описанный выше алгоритм должен их отскекать. Kроме того, есть еще алгоритмы истончения линий. В результате их применения на растровом изображении должны остаться только линии толщиной в один пиксель. До свидания, в 20:54 MSK Sergey --- * Origin: Sergiev Posad (2:5020/1507.400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/52053E5543D0.html, оценка из 5, голосов 10
|