How to rotate a line using Matlab?

Suppose I have an image I and a line h1. Using Matlab, I can draw the line (or segment) like this (in red) :
h1 = plot( [l1 l1],[20 100], 'r');
Now I want to rotate the image I with an angle of 45°. So I used imrotate like this:
IR = imrotate(I,45);
Now, I want to rotate the line, how to do that using Matlab ?
PS: I found the function rotate. I am trying this, but it is not working !
rotate(h1,[1 1],45);

 Respuesta aceptada

Image Analyst
Image Analyst el 16 de Mayo de 2015

0 votos

imrotate() rotates an entire image, not a line you created with line() or plot(). You need to take your points and multiply by the rotation matrix - you know, the sin and cos thing you learned in your linear algebra class in college. Then call line() or plot() again with the rotated coordinates.

1 comentario

Makrim
Makrim el 16 de Mayo de 2015
it worked for the two points of the line ... thank you

Iniciar sesión para comentar.

Más respuestas (1)

Habtamu Tesfaw
Habtamu Tesfaw el 12 de Mzo. de 2021
Editada: Habtamu Tesfaw el 12 de Mzo. de 2021

0 votos

here is a simple package that can do the job '
https://www.mathworks.com/matlabcentral/fileexchange/88748-lrotate?s_tid=srchtitle

Categorías

Productos

Etiquetas

Preguntada:

el 16 de Mayo de 2015

Editada:

el 12 de Mzo. de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by