我在matlab中有以下代码,它应该在图像上绘制多边形(必须是2d图像,只是一个补丁)。
date1 <= date2
这不起作用,因为drawpolygon似乎没有以这种方式存在任何想法如何做到这一点?
请注意,结果数据必须是大小相同的baseIM图像,并且必须是双精度数组(可以转换整数),因为这是另一种算法的测试数据。
我已经找到了inpolygon(xi,yi,xv,yv);如果我知道如何正确调用它,我可以将它与for循环结合起来。
答案 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')
修改强>
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
希望这有帮助。