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

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



Память: 0.45 MB
Время: 0.011 c
14-63842
Дремучий
2003-02-04 21:18
2003.02.20
Веб-чат. Способы уменьшения трафика.


3-63572
Назаров Евгений
2003-02-03 21:43
2003.02.20
Большие и маленькие буквы в SQL запросе


14-63743
msoftware
2003-02-04 14:39
2003.02.20
Нипонимаю я себя


14-63850
JibSkeart
2003-02-02 13:13
2003.02.20
А помимо программирования сдеся увлекается музыкой ??


3-63570
Петрович
2003-01-30 10:20
2003.02.20
Можно ли ускорить Delete




   Наверх