2015-07-22 87 views
0

我正在使用imrect函数在matlab中显示imrect矩形的canny和sobel边缘的ROI。
其实我在我的matlab gui中有两个坐标轴。在一个轴上,我显示用户选择的图像,并使用imrect函数放置初始矩形。对应于imrect rectange我在轴2上显示canny边缘或sobel边缘。一切都很好,直到现在。
现在我想用户拖动或自动调整矩形,然后我想dispaly最新的矩形精明和索贝尔边缘上轴2如何找到正确的矩形位置改变或不?

如何找到imrect矩形位置改变或不?

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

回答

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 
+1

感谢夏嘉曦它的工作这是很多的你解决方案。 –

+0

@ saimadhu.polamuri你是最受欢迎的;) – Shai

+0

如果我在图像上有一堆直接的图像,并且想要检测它们中的所有变化并最终将这些矩形保存在文件中,该怎么办? –