Я хочу реализовать функцию автоматического завершения для приложения-графика. Как только объект свободной руки нарисован, я хочу определить тип объекта (круг/прямоугольник/треугольник) и на основании результата захочет построить соответствующий объект.Обнаружить, если рисование пути - это круг/прямоугольник в xcode
Я немного ознакомился с OpenCV, но тогда мне нужно будет преобразовать чертеж пользователя в изображение в реальном времени. Я записываю количество точек, нанесенных/отслеживаемых касанием, а также генерирует UIBeizerPath
соответствующего пути. Как я могу найти тип фигуры?
Интересно! Я следил за вашим подходом, но, к сожалению, последовательность точек, которые у меня есть, имеет небольшие смещения (т. Е. Они не находятся в прямой линии), и, следовательно, применение формулы дает мне много острых поворотов. Для треугольника я получил 70 острых поворотов, затем уменьшил размер выборки, но все еще получал около 18 острых поворотов. –
При вычислении наклонов назад/вперед используйте несколько точек до и после текущей точки. Например, при вычислении наклона назад/вперед для точки P (i) используйте точку P (i-m) и P (i + m). Выберите значение m в зависимости от плотности точки. Таким образом, вы должны избегать резких поворотов, вызванных незначительными шумами данных. – fang
Да, после публикации комментария, я решил, что должен уменьшить размер выборки и сделать это. Теперь я, кажется, получаю правильные значения, хотя для треугольника я продолжаю получать 3 оборота вместо 2, а я получаю два хода. Полагаю, что порог угла поворота требует больше работы. –