在给定中心坐标的白色画布上的matlab中创建正方形

时间:2016-04-09 04:46:19

标签: matlab square

我对Matlab很新。我需要根据文件squares.txt中给出的规格在白色画布上创建正方形。文本文档包含一个包含6列和一些行的数字矩阵。矩阵每行中的前两个数字是要绘制的正方形的中心坐标。第三个值是宽度,最后一个值是RGB值。考虑到中心坐标,我很难找到在画布上绘制正方形的方法。

1 个答案:

答案 0 :(得分:1)

在给定中心坐标,宽度和RGB值的情况下绘制彩色正方形,如下所示:

sq = rectangle('Position', [i-width/2, j-width/2, width, width],'EdgeColor',[r g b]);

取决于您的颜色值是介于0和1还是0到255之间,您可能需要将rgb除以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