How to rotate a line using Matlab?

67 views (last 30 days)
Makrim
Makrim on 16 May 2015
Edited: Habtamu Tesfaw on 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);

Accepted Answer

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

Sign in to comment.

More Answers (1)

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

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!