простое распознавание геометрических фигур в C # - PullRequest
4 голосов
/ 28 мая 2009

У меня есть набор штрихов (из чернил), и я хотел бы найти эти штрихи, которые участвуют в геометрической форме, такой как линия, квадрат, круг, треугольник ... и определить их.

До сих пор я видел много алгоритмов, которые работают с растровыми изображениями.

Моя проблема проще , так как у меня уже есть хороший массив точек. Но все же нужно найти ближайшую геометрическую форму. Спасибо John

Ответы [ 2 ]

4 голосов
/ 28 мая 2009

преобразует штрихи в векторы (например, углы). например: 272, 93, 42, 179 Теперь сравните эти углы с таблицей хранимых углов, которые нужно распознать:

например. формы: {{0,90,180,270}, {270, 90, 45, 180}}

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

Подводный итог, который является наименьшим, - это форма, которую он больше всего напоминает.

Кстати, остерегайтесь разницы между двумя углами. Существует проблема обтекания. угол: 359 и 1 очень близко друг к другу ... но если вы просто вычтете их, они окажутся на расстоянии 358 градусов.

Надеюсь, это было понятно

1 голос
/ 28 мая 2009

Вы можете попробовать методы машинного обучения, чтобы обучить свой код тому, какие фигуры вам интересны. Это похоже на то, что многие люди делают для пульта wii, распознающего жесты. Вот пример:

http://mm -werkstatt.informatik.uni-augsburg.de / project_details.php? ID = 46

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...