Отслеживание кривой линии - PullRequest
1 голос
/ 08 марта 2011

Я работаю над проектом в моем университете, и у меня есть проблема. Цель состоит в том, чтобы создать алгоритм, который может отслеживать кривые на изображениях графиков и создавать списки точек (x, y) с предопределенной точностью / шагом, который описывает кривые.

Количество кривых на каждом изображении> = 1 и ширина> = 1 пиксель. Кривые могут иметь несколько пересечений и цветов. Они также могут иметь одинаковый цвет.

Пример того, что я хочу сделать:

enter image description here

Точки - это точки, которые мне нужно извлечь. Область сканирования должна быть выбрана пользователем (без оси или текста в области сканирования). Я нашел здесь несколько интересных , но я не чувствую, что я силен в математике. Мне нужно что-то попроще.

1 Ответ

0 голосов
/ 08 марта 2011

Я предполагаю, что предопределенные шаги находятся на горизонтальной оси, скажем, оси x, и, поскольку размер шага задан, вы можете начать с самого левого пикселя выбранной пользователем области. Для любого конкретного значения x вы обрабатываете изображение от нижней границы вверх и определяете цвета. Каждый из этих цветов будет иметь распределение (т. Е. Не только на один пиксель для данного x), и я рекомендую взять среднее значение этого распределения. Конечно, вы должны повторять это до тех пор, пока следующий шаг в направлении x не окажется за пределами выбранной пользователем области. Теперь вам нужно только настроить механизм определения цвета, а именно разрешить небольшой диапазон цветов вместо чистого красного или синего и т. Д., Но это совсем другая (хотя и не такая сложная) проблема.

Еще одна вещь, это может быть то, что при данном значении х два графика перекрываются, и один может не быть видимым. В этом случае вы можете немного увеличить x и попробовать еще раз, и если вы обнаружите его в этом x, вы легко сможете определить, за каким другим графиком он находится в предыдущем x.

Удачи

...