Перейти к содержимому
Compvision.ru
ter_nk

Перебор точек контура

Recommended Posts

Здравствуйте, можно ли как-то оптимальным алгоритомом пройтись по точкам внутри контура. Мне нужно сделать преобразования по минимально необходимому числу точек просто с точки зрения скорости. Пока я решил вычислить минимальные и максимальные значения х и у и пройтись по точкам этого квадрата, просто если представить полоску повернутую на 45 градусов, то получается основная часть перебора будет сделана зря. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не очень понятная постановка задачи, с картинками было бы лучше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот смотрите, моя фигура салатовый повернутый прямоугольник, мне нужно в нем точки обработать как-то, но я понимаю как мне только обработать то что в синем прямоугольнике.

rotatedrect.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вопрос по геометрии в продолжение.

У меня повернутый прямоугольник, зелененький. Через RotetedRect я нашел угол, с помощью функций warpAffine относительно центра я повернул, а как мне получить координаты повернутого прямоугольника?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По результату что-то не так получается, если отклоняю точку от центра на сколько-то градусов, подскажите ошибку

R - радиус

A в радианы (3.14 / 180) * ANG (угол)

X =  R * Cos(A) - R*Sin(A) + x_centr;

Y = R * Sin(A) + R*Cos(A) + y_centr;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поясню алгоритм:

1) Переносим центр поворота в начало координат.

2) Поворачиваем

x' = x \cos \theta - y \sin \theta\,,
y' = x \sin \theta + y \cos \theta\,

3) Переносим обратно откуда взяли.

 
 
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×