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

 Réponse acceptée

Image Analyst
Image Analyst le 16 Mai 2015

0 votes

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 commentaire

Makrim
Makrim le 16 Mai 2015
it worked for the two points of the line ... thank you

Connectez-vous pour commenter.

Plus de réponses (1)

Habtamu Tesfaw
Habtamu Tesfaw le 12 Mar 2021
Modifié(e) : Habtamu Tesfaw le 12 Mar 2021

0 votes

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

Catégories

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by