How to rotate a line using Matlab?

42 visualizzazioni (ultimi 30 giorni)
Makrim
Makrim il 16 Mag 2015
Modificato: Habtamu Tesfaw il 12 Mar 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);

Risposta accettata

Image Analyst
Image Analyst il 16 Mag 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 Commento
Makrim
Makrim il 16 Mag 2015
it worked for the two points of the line ... thank you

Accedi per commentare.

Più risposte (1)

Habtamu Tesfaw
Habtamu Tesfaw il 12 Mar 2021
Modificato: Habtamu Tesfaw il 12 Mar 2021
here is a simple package that can do the job '
https://www.mathworks.com/matlabcentral/fileexchange/88748-lrotate?s_tid=srchtitle

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by