How to rotate a line using Matlab?

35 vues (au cours des 30 derniers jours)
Makrim
Makrim le 16 Mai 2015
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
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
here is a simple package that can do the job '
https://www.mathworks.com/matlabcentral/fileexchange/88748-lrotate?s_tid=srchtitle

Catégories

En savoir plus sur Geometric Transformation and Image Registration dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by