我对Matlab很新。我需要根据文件squares.txt中给出的规格在白色画布上创建正方形。文本文档包含一个包含6列和一些行的数字矩阵。矩阵每行中的前两个数字是要绘制的正方形的中心坐标。第三个值是宽度,最后一个值是RGB值。考虑到中心坐标,我很难找到在画布上绘制正方形的方法。
答案 0 :(得分:1)
在给定中心坐标,宽度和RGB值的情况下绘制彩色正方形,如下所示:
sq = rectangle('Position', [i-width/2, j-width/2, width, width],'EdgeColor',[r g b]);
取决于您的颜色值是介于0和1还是0到255之间,您可能需要将r
,g
和b
除以255
修改:
不使用文件的最小示例:
width=100;
for count = 1:2
if (count == 1)
canvas = ones(400,400,3);
else
canvas = ones(300,700,3);
end
figure, imshow (canvas);
rectangle('Position', [100-width/2, 200-width/2, width, width],
EdgeColor', [0.5 0.5 0.2]);
end