Effacer les filtres
Effacer les filtres

how can change the angle of image ?

4 vues (au cours des 30 derniers jours)
M.aM
M.aM le 27 Juil 2012
Hi everyone I have image I want change the angle of this image to be horizontal how can I do it? Thank you

Réponses (2)

Thomas
Thomas le 27 Juil 2012
something like this? Based on the method shown here: http://stackoverflow.com/questions/5770818/how-to-align-image-matlab
I = imread('http://up.arab-x.com/Apr12/Yen90992.jpg');
%# egde detection
BW = edge(rgb2gray(I), 'canny');
%# hough transform
[H T R] = hough(BW);
P = houghpeaks(H, 4, 'threshold',ceil(0.75*max(H(:))));
lines = houghlines(BW, T, R, P);
out = imrotate(I,lines(1).theta);
subplot(121)
imshow(I)
subplot(122)
imshow(out)

Image Analyst
Image Analyst le 27 Juil 2012
Perhaps imrotate() or imtransform()?
  2 commentaires
M.aM
M.aM le 27 Juil 2012
Yep I used this but what if I want rote the image with out known the angle Thanks Image Analyst :)
Ryan
Ryan le 27 Juil 2012
Modifié(e) : Ryan le 27 Juil 2012
I would tackle it with this strategy:
  1. Find the top-most black pixel (in this case your upper left corner).
  2. Find the right-most black pixel (in this case your upper right corner).
  3. Use the change in width and height, along with trig to find the angle of rotation (it's like a triangle)
This strategy can be adapted to handle rotation the other way as well, but will not work past an 89 degree rotation in either direction.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by