限制impoly点击并将其转换为矩形 - Matlab

时间:2017-10-18 17:49:47

标签: matlab

我在下面的脚本中使用了impoly,我有两个问题:

  • 我可以限制点击的点数(例如5)并自动关闭吗?

  • 有没有一种方法可以像所附图像(红框)一样将impoly转换为imrect?

脚本:

clc;
clear; 

figure, imshow('pout.tif');
hpoly = impoly(gca);

enter image description here

1 个答案:

答案 0 :(得分:0)

从impoly的文档中,我不认为它是直接可能的。对于这种自定义行为,您应该编写自己的点选功能。

几个matlab功能可以帮助你朝这个方向发展。

  • [x,y] = ginput(n)选择积分
  • impoint(hparent,x, y)绘制可拖动点,
  • line绘制点和矩形边界框之间的直线。

impoint有一个'PositionConstraintFcn'参数,当移动该点时会调用你的函数。您可以使用它来更新移动点时绘制的线条。

我建议你有一个主要功能来处理点拾取(约束点数等等),以及一个“显示”功能,它计算边界框,在点之间画线,你可以在添加点时(在主函数中)或移动点(使用'PositionConstraintFcn'参数)时调用。