此示例显示如何定义自定义等待函数,该函数阻止MATLAB®命令行,直到完成定位矩形。
显示图像。
imshow('pears.png')
在图像的左上角绘制一个矩形ROI。
h = drawrectangle('位置',[1 1 100 100]);
使用自定义等待函数在与矩形交互时阻止MATLAB命令行。此示例指定调用的函数天范图
(在示例末尾定义)。
虽然命令行被阻止,但调整矩形的大小和重新定位,以便它包含一个梨。双击矩形以恢复执行天范图
功能。该函数返回矩形的最终位置。
pos = customwait(h)
POS =1×4262.0000 36.0000 144.0000 145.0000
这是单击ROI时阻止程序执行的自定义等待函数。完成与ROI的交互后,该函数返回ROI的位置。
功能pos = customwait(hroi)%收听ROI上的鼠标点击l = AddListener(HROI,'roiclicked',@ clickCallback);%块程序执行Uiwait;%删除侦听器删除(l);%返回当前位置pos = hroi.position;结尾
双击ROI双击时,此点击回调函数恢复程序执行。请注意,事件数据将传递给回调函数作为images.roi.roiclickedeventdata.
对象,使您可以定义响应不同类型操作的回调函数。例如,您可以定义回调函数以在按Shift键的同时单击ROI时恢复程序执行,或者单击ROI(如标签)的特定部分时。
功能ClickCallback(〜,EVT)如果Strcmp(evt.SelectionType,'双倍的')uiresume;结尾结尾
AddListener.
|drawrectangle.
|矩形
|uiresume.
|Uiwait.