MATLAB Answers

0

How to rotate image by using orientation regionprops?

Asked by Najwa Samlan on 13 Oct 2019
Latest activity Commented on by Image Analyst
on 14 Oct 2019
Hi. May I know how to rotate signature image by using orientation regionprops and then I want to display it at axis ? Below is my code
image1= getimage(handles.axes1)
bw1=imresize(image1,[128 256])
%binarization
bw1=im2double(bw1);
bw1 = im2bw(bw1,0.90);
%thinning
BW3=bwmorph(~bw1,'thin',0.9)
stats=regionprops(BW3,'Orientation','Centroid')
ori=[stats.Orientation]
c=stats.Centroid
x=c(1)+10*cosd(ori)
y=c(2)-10*sind(ori)
line([c(1) x],[c(2) y])
%display result at axes2
axes(handles.axes2)
imshow(BW3)

  0 Comments

Sign in to comment.

1 Answer

Answer by Image Analyst
on 13 Oct 2019

Try this
meanAngle = mean(ori)
BW3 = imrotate(BW3, -meanAngle);

  2 Comments

I already try using your suggestion but the outcomes are not like what I want. The image do not rotate at the centre of x and y.
It rotates the image about the center of the image. If you don't want that, then maybe you can use imtranslate() before imrotate(), or else use the translation and rotation in your own matrix. See Wikipedia

Sign in to comment.