如何找到改变的矩形位置?

时间:2015-07-22 06:18:26

标签: matlab matlab-guide roi

我正在使用matlab中的imrect函数来显示imrect矩形的ROI的canny和sobel边缘。
其实我的matlab gui中有两个轴。在一个轴上,我显示用户选择的图像并使用imrect函数放置初始矩形。相应于imrect矩形,我在第二轴上显示了canny edge或sobel edge。到目前为止一切都很好 现在我希望用户拖动或调整矩形大小然后自动我希望在轴2上显示最新的矩形canny和sobel边缘。

如何查找imrect矩形位置是否已更改?

任何人都可以帮助我。如果任何网站链接有帮助请放弃。

1 个答案:

答案 0 :(得分:4)

您可以使用addNewPositionCallback方法添加自己的回调函数,以便在矩形更改其位置时执行。

首先,您需要创建一个使用新矩形位置调用的函数:

function myFunc( newRect )
fprintf(1, 'New rect position = [%d %d %d %d]\n', newRect );

现在您可以使用imrect注册该功能:

rHandle = imrect(); %// create the interactive rectangle
addNewPositionCallback( rHandle, @myFunc ); %// register function myFunc to be called when rect is changed