我正在写一个程序来检测MATLAB中的基本形状。 当我检测到形状时,我评估它的方向,然后旋转形状使其方向为零,然后我可以评估它的投影并指定它是什么。在图像中旋转三角形 - MATLAB
问题是MATLAB函数:regionprops()
不正确评估三角形的方向。
I = zeros(256,256);
pos_triangle = [64 64 128 192 128 128];
Is = insertShape(I, 'FilledPolygon', pos_triangle);
imshow(Is)
original = Is;
originalBW = im2bw(original);
figure; imshow(originalBW);
S = regionprops(originalBW,'All');
bwr=imrotate(originalBW,S.Orientation);
S2 = regionprops(bwr,'Centroid','Orientation');
figure;imshow(bwr);
我使用imrotate fnc旋转图像,我没有旋转问题,imrotate工作正常。问题在于计算方向[使用'regionprps()'fnc]的图像!例如:我想从这个位置转动三角形
http://postimg.org/image/4un4sc7pn/
Orentation值:-28.9621 所以我将其旋转28.9621度到其现在的位置改变这一
http://postimg.org/image/x68opdrm3/
但输出是这样的:
http://postimg.org/image/yf15or8y3/
使用他们的方位(或图像的其他可能的属性)
的其他例子:由Up左第二三角形改变位置,以向上左第一三角形
您是否试图确定三角形的中心并使用2D旋转矩阵? – CroCo 2014-11-08 21:21:56
你的例子的输出是什么?你为什么认为这是错的? – beaker 2014-11-09 20:07:01
CroCo&breaker,我编辑问题,希望它变得更清楚。 – 2014-11-10 09:27:44