Какой метод использовать для поворота изображения относительно точки, которая не является центральной точкой изображения, с помощью MATLAB?
Как повернуть изображение относительно точки, которая не является центральной точкой изображения, с помощью MATLAB?
Ответы (3)
Два поворота на один и тот же угол равны с точностью до перевода. Таким образом, вы можете просто вращать вокруг центра, а затем перемещать изображение, чтобы поместить свой собственный центр вращения в его старое положение.
Помощь «повернуть» говорит:
ПОВЕРНУТЬ Повернуть объекты относительно указанного источника и направления. ROTATE (H, [THETA PHI], ALPHA) вращает объекты с ручками H на угол ALPHA вокруг оси, описываемой двухэлементным вектором направления [THETA PHI] (сферические координаты).
Все углы указаны в градусах. Ручки в H должны быть дочерними по отношению к одной и той же оси....
ROTATE (..., ORIGIN) использует точку ORIGIN = [x0, y0, y0] в качестве центра вращения вместо центра поля графика.
imrotate
- person Oli; 06.04.2012
Чтобы повернуться вокруг точки, отличной от исходной, вы:
- Переместите точку, которую вы хотите повернуть, в начало координат. Например, если вы хотите повернуть вокруг (3,5), вы должны перевести на (-3, -5).
- Выполните свое вращение.
- Отменить первоначальный перевод. Итак, в моем примере вы теперь переводите как (+ 3, + 5).