How to rotate a line using Matlab?

35 visualizaciones (últimos 30 días)
Makrim
Makrim el 16 de Mayo de 2015
Editada: Habtamu Tesfaw el 12 de Mzo. de 2021
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
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
here is a simple package that can do the job '
https://www.mathworks.com/matlabcentral/fileexchange/88748-lrotate?s_tid=srchtitle

Categorías

Más información sobre Geometric Transformation and Image Registration en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by