Matlab:使用矩形函数获得的错误

时间:2015-03-20 06:55:45

标签: image matlab plot rectangles

我正在使用MATLAB并希望使用rectangle函数来绘制矩形。我希望用户输入每个角落的坐标。我写了以下内容:

xR1 = input('x coordinate of the first rectangle corner?');
yR1 = input('y coordinate of the first rectangle corner?');

xR2 = input('x coordinate of the second rectangle corner?');
yR2 = input('y coordinate of the second rectangle corner?');

xR3 = input('x coordinate of the third rectangle corner?');
yR3 = input('y coordinate of the third rectangle corner?');

xR4 = input('x coordinate of the fourth rectangle corner?');
yR4 = input('y coordinate of the fourth rectangle corner?');

XRcoordinates = [xR1 xR2 xR3 xR4]
YRcoordinates = [yR1 yR2 yR3 yR4]

width = max(XRcoordinates) - min(XRcoordinates)
height = max(YRcoordinates) - min(YRcoordinates)

rectangle('Position', min(XRcoordinates), min(YRcoordinates),width,height)
axis([0   max(XRcoordinates)   0   max(YRcoordinates)  ])

当我运行它时,我输入以下内容

xR1 = 2
yR1 = 3

xR2 = 2
yR2 = 5

xR3 = 4
yR3 = 5

xR4 = 4
yR4 = 3

然而,我收到以下错误消息:

  

使用rectangle

时出错      

无法为此对象指定便捷arg

     

script1(第37行)错误

     

rectangle('Position', min(XRcoordinates),min(YRcoordinates),width,height)

第一条错误消息是什么意思?  有什么问题?

1 个答案:

答案 0 :(得分:3)

您没有正确地呼叫rectangle。如果您使用Position标记,则第二个参数需要四个元素向量。您正尝试使用五个参数调用rectangle。但是,您应该格式化此向量的方式与Position标志之后的输入参数完全对应,因此您真正需要做的就是将它们封装到向量中。

此外,您可能希望将矩形的颜色更改为其他颜色,因为默认颜色为黑色。尝试将其更改为红色。我们可以在Position标志后添加其他参数。

同样,这样做:

rectangle('Position', [min(XRcoordinates), min(YRcoordinates),width,height], 'EdgeColor', 'red');