我在下面的脚本中使用了impoly,我有两个问题:
我可以限制点击的点数(例如5)并自动关闭吗?
有没有一种方法可以像所附图像(红框)一样将impoly转换为imrect?
脚本:
clc;
clear;
figure, imshow('pout.tif');
hpoly = impoly(gca);
答案 0 :(得分:0)
从impoly的文档中,我不认为它是直接可能的。对于这种自定义行为,您应该编写自己的点选功能。
几个matlab功能可以帮助你朝这个方向发展。
[x,y] = ginput(n)
选择积分impoint(hparent,x, y)
绘制可拖动点,line
绘制点和矩形边界框之间的直线。 impoint
有一个'PositionConstraintFcn'
参数,当移动该点时会调用你的函数。您可以使用它来更新移动点时绘制的线条。
我建议你有一个主要功能来处理点拾取(约束点数等等),以及一个“显示”功能,它计算边界框,在点之间画线,你可以在添加点时(在主函数中)或移动点(使用'PositionConstraintFcn'
参数)时调用。