0
我在matlab中有下面的代碼,應該在圖像上繪製多邊形(必須是2d圖像,只是一個補丁)。如何在2D矩陣中繪製matlab中的多邊形
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);
這不起作用拉伸多邊形不以這種方式存在任何想法如何做到這一點?
請注意,生成的數據必須是baseIM大小相同的圖像,並且必須是雙精度數組(可以轉換整數),因爲這是另一種算法的測試數據。我已經找到了inpolygon(xi,yi,xv,yv);函數,如果我知道如何正確調用它,我可以與for循環結合使用。
嗯,我特別需要將我的數據放在圖像上(尺寸爲1000的二維數組1000),因爲這是針對另一種算法的測試數據。填充和補丁似乎會生成一個一個描述點的數據。 – Thijser
我不明白您的評論:參照我已經發布的代碼,你可以考慮的第一多邊形(紅的)作爲二維數組,第二個(綠色的)多邊形「加」上。 'fill'和'patch'返回的值只是'handles'。 –
我已經更新了答案,增加了在圖像上添加多邊形的可能性。你在哪裏得到了'drawpolygon'功能?它似乎不是一個MatLab函數。 –