how can change the angle of image ?

Hi everyone I have image I want change the angle of this image to be horizontal how can I do it? Thank you

Risposte (2)

Thomas
Thomas il 27 Lug 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 il 27 Lug 2012

0 voti

Perhaps imrotate() or imtransform()?

2 Commenti

M.aM
M.aM il 27 Lug 2012
Yep I used this but what if I want rote the image with out known the angle Thanks Image Analyst :)
Ryan
Ryan il 27 Lug 2012
Modificato: Ryan il 27 Lug 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.

Accedi per commentare.

Categorie

Richiesto:

il 27 Lug 2012

Community Treasure Hunt

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

Start Hunting!

Translated by