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);

 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

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

Products

Tags

Asked:

on 16 May 2015

Edited:

on 12 Mar 2021

Community Treasure Hunt

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

Start Hunting!