【发布时间】:2016-01-06 18:17:22
【问题描述】:
我在 matlab 中有以下代码,它应该在图像上绘制多边形(必须是 2d 图像,只是一个补丁)。
numCorners=8;
dotPos=[];
for rr=1:numCorners
dotPos(end+1)=(cos(rr/numCorners*2*pi))*100;
dotPos(end+1)=(sin(rr/numCorners*2*pi))*100;
end
BaseIm=zeros(1000,1000);
dotpos=[500,500];
imageMatrix =drawpolygon(BaseIm, dotPos, 1); or how else do draw a white polygon here?
imshow(imageMatrix);
这不起作用,因为 drawpolygon 似乎不以这种方式存在任何想法如何做到这一点?
请注意,结果数据必须是与 baseIM 大小相等的图像,并且必须是双精度数组(可以转换整数),因为这是另一种算法的测试数据。
我已经找到了 inpolygon(xi,yi,xv,yv);如果我知道如何正确调用它,我可以将它与 for 循环结合使用。
【问题讨论】: