【问题标题】:How can i draw a slanted rectangle in a frame (or picture)?如何在框架(或图片)中绘制倾斜的矩形?
【发布时间】:2013-09-16 17:45:25
【问题描述】:

我有一个代码,它拍摄视频,将其分割成帧,然后询问我想在帧上绘制多少个矩形(仅第一帧,k在下面的代码中)。

我也希望能够绘制一个倾斜的矩形。有什么命令可以帮助我吗?

 if k==1
    result=input('How many rectangles would you like to draw? ');
    pos=zeros(result,4); 
    for i=1:result
      handle=imrect;
      pos(i,:)=handle.getPosition;   
    end
end

【问题讨论】:

  • 斜长方形是什么意思?你的意思是任何平行四边形?还是只有底座平行于 X 轴的?您希望如何用数字表示倾斜的矩形?你可以试试 mipoly。

标签: image matlab image-processing graphics


【解决方案1】:

在您的代码中,imrect 负责绘制一个矩形。

您可以使用impoly 来绘制一些多边形(这里是倾斜的矩形)。

代码

imshow('cameraman.tif')
h_poly = impoly;

会给

您可以通过拖放选择的蓝色手柄来修改形状。

蓝色手柄的位置可以通过

pos = getPosition(h_poly) 

【讨论】:

  • 嗨,impoly 函数确实有效,但我无法理解 hoe 我可以获取我绘制的多边形的位置。当它到达位置线时,它返回错误:“下标赋值尺寸不匹配。”
  • 请查看编辑 - 在for 循环中,您可以声明pos{i} = getPosition(h_poly)
  • 嗨,有什么方法可以确定我的多边形是矩形吗?当我使用 imply() 命令绘制多边形时,我不够直,我得到了一个抽象形式。我真的需要它是一个矩形。
猜你喜欢
  • 2020-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-23
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多