стоит такая задача дл я Делфи .На экране есть шахматное поле ,примерно 40*40 клеток .в каждой клетке могут быть фигуры ,иногда они образуют на доске нечетко очерченную геометрическую фигуру ,причем разных размеров (маленький треугольник,слегка косой овал,возможно с разрывами линний).Нужно научить программу сообщать о том,что на доске есть что-то похожее на квадрат или овал.Какие есть идеи?
я не студент а программист банка,и я уже сделал большую часть работы -это нужно для распознавания фото ,причем результаты хорошие.и именно для того чтоб увеличить эффективность с нынешних 97% я и обратился.я бы рад познакомиться со студентами ,для которых это семечки,но пока что мне не помогли заслуженные преподаватели страны и доценты университета.Кстати ,я вообще портирую программу с Делфи на Java,но это не принципиально,важен алгоритм.
Здравствуйте, oleggar, Вы писали:
O>стоит такая задача дл я Делфи .На экране есть шахматное поле ,примерно 40*40 клеток .в каждой клетке могут быть фигуры ,иногда они образуют на доске нечетко очерченную геометрическую фигуру ,причем разных размеров (маленький треугольник,слегка косой овал,возможно с разрывами линний).Нужно научить программу сообщать о том,что на доске есть что-то похожее на квадрат или овал.Какие есть идеи?
1) Интерпретировать клетки как систему координат на плоскости.
2) треугольник — любые три точки (клетки). Насколько маленький — посчитать площадь с сравнить с эталоном +/- погрешность.
3) Овал или квадрат — 4 точки. Попытаться вписать овал в полученный четырехугольник. Опять-таки +/- погрешность.
Проверить, образуют ли 4 точки четырехугольник и 3 — треугольник можно на основе координат (не лежат ли точки на одной линии). Правда при таком подходе придеться перебирать все возможные комбинации точек, что долго. Зато зная размеры минимального допустимого овала/четырехугольника можно существенно ограничить границы множеств координат. Примерно так.
Ну и не забываем, что квадрат и круг — частные случаи четырехугольника и овала (ну или наоборот)
P.S. знать бы еще, какое максимальное число точек может быть, чтобы анализировать не все комбинации координат...
Здравствуйте, oleggar, Вы писали:
O>стоит такая задача дл я Делфи .На экране есть шахматное поле ,примерно 40*40 клеток .в каждой клетке могут быть фигуры ,иногда они образуют на доске нечетко очерченную геометрическую фигуру ,причем разных размеров (маленький треугольник,слегка косой овал,возможно с разрывами линний).Нужно научить программу сообщать о том,что на доске есть что-то похожее на квадрат или овал.Какие есть идеи?
1. Думаю автору электронная библиотека лаборатории комп. графики при ВМиК МГУ знакома, но если нет, то советую посетить. По крайней мере для себя много интересного нашел.
2. Еще можно посмотреть библиотеку Intel OpenCV, возможно в ней уже реализованы необходимые алгоритмы.