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

Вниз

Графика   Найти похожие ветки 

 
AlekseyK ©   (2002-11-05 16:57) [0]

Привет. Скажите пожалуйста, возможно ли реализовать следующую задачу:
имеется отсканированный лист, на котором ручками (разных цветов или оттенков) проведены линии. Требуется определить линия какого цвета проведена сверху.
На глаз всегда кажется, что линия темного оттенка находится поверх.
Спасибо.


 
LongIsland ©   (2002-11-06 15:29) [1]

На мой взгляд можно попробовать следующий подход

1. Создется массив записей коэффициентов уравнений линии разного цвета. Что-то вроде
TRec = record
a: Double;
b: Double;
Color: TColor;
Flag: Integer;
end;

TLines = array of TRec;

2. Сканируется лист на предмет наличия разных цветов (их лучше задавать в каком-то диапазоне).

3. Определяется каждая линия и заполняется массив.

4. Ищется пиксель пересечения каждой линии с каждой (простейшая математика), если они вообще пересекаются и определяется его цвет.

5. Полю Flag некоторой (например, первой найденной в массиве линии) присваиваем любое целочисленное значение.

6. Для прочих линий, если они сверху (п.4), то Flag будет больше на единицу, чем у той, на которой она лежит и наоборот.

7. Теперь сортируем массив и определяем, что лежит сверху (максимальный Flag).

Здесь прежде всего то, что может быть примерно такая ситуация с линиями


| |
-|-----------
| |
| |
| |
| |
| |
| |
-----------|-
| |


Надеюсь понятно, что здесь нарисовано. Может случиться так, что НИ ОДНА линия не будет сверху. Это надо учесть.

Алгоритм все-равно очень сложный, но надеюсь, что я дал хоть примерное направление. Удачи!



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

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

Наверх




Память: 0.47 MB
Время: 0.026 c
3-63498
VaZ
2003-02-05 07:42
2003.02.20
Как передать в InterBase параметры


1-63662
Goffman
2003-02-10 07:21
2003.02.20
Frame&dll


14-63778
Ihor Osov'yak
2003-02-03 19:31
2003.02.20
InstallShield и InprocServer32 для inproc COM - что то торможу..


8-63682
Vitalt
2002-11-05 21:14
2003.02.20
Speaker


1-63669
Z-man7777
2003-02-12 08:29
2003.02.20
Динамическое создание MenuItem-ов в PopupMenu