如何找到不正确的矩形位置是否改变?

How to find the imrect rectangle position changed or not?

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

如何判断imrect矩形位置有没有变化?

谁能帮帮我。如果任何网站 link 有帮助,请删除它。

您可以使用 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