如何在2D矩阵中在matlab中绘制多边形

时间:2016-01-06 18:17:23

标签: image matlab 2d polygon

我在matlab中有以下代码,它应该在图像上绘制多边形(必须是2d图像,只是一个补丁)。

date1 <= date2

这不起作用,因为drawpolygon似乎没有以这种方式存在任何想法如何做到这一点?

请注意,结果数据必须是大小相同的baseIM图像,并且必须是双精度数组(可以转换整数),因为这是另一种算法的测试数据。

我已经找到了inpolygon(xi,yi,xv,yv);如果我知道如何正确调用它,我可以将它与for循环结合起来。

1 个答案:

答案 0 :(得分:0)

如果您只需要绘制两个多边形,则可以使用fill函数。

['abc', 'ab c', 'a bc', 'a b c']
['abc123 def', 'abc123def']

作为替代方案,您可以使用patch功能:

t=0:2*pi;
x=cos(t)*2;
y=sin(t)*2

fill(x,y,'r')
hold on
fill(x/2,y/2,'g')

enter image description here

修改

figure t=0:2*pi; x=cos(t)*2; y=sin(t)*2 patch(x,y,'c') hold on patch(x/2,y/2,'k') fill函数也允许在实际图像上添加多边形。

patch

enter image description here

希望这有帮助。