Utilizar una función de espera después de dibujar una ROI
En este ejemplo se muestra cómo definir una función de espera personalizada que bloquea la línea de comandos de MATLAB® hasta que termine de posicionar un rectángulo.
Muestre una imagen.
imshow('pears.png')
Dibuje una ROI rectangular en la esquina superior izquierda de la imagen.
h = drawrectangle('Position',[1 1 100 100]);
Utilice una función de espera personalizada para bloquear la línea de comandos de MATLAB mientras interactúa con el rectángulo. En este ejemplo se especifica una función llamada customWait
(definida al final del ejemplo).
Mientras la línea de comandos está bloqueada, cambie el tamaño y la posición del rectángulo para que abarque una pera. Haga doble clic en el rectángulo para reanudar la ejecución de la función customWait
. La función devuelve la posición final del rectángulo.
pos = customWait(h)
pos = 1×4
262.0000 36.0000 144.0000 145.0000
Esta es la función de espera personalizada que bloquea la ejecución del programa cuando hace clic en una ROI. Cuando ha terminado de interactuar con la ROI, la función devuelve la posición de la ROI.
function pos = customWait(hROI) % Listen for mouse clicks on the ROI l = addlistener(hROI,'ROIClicked',@clickCallback); % Block program execution uiwait; % Remove listener delete(l); % Return the current position pos = hROI.Position; end
Esta función de callback al hacer clic reanuda la ejecución del programa cuando hace doble clic en la ROI. Tenga en cuenta que los datos del evento se pasan a la función de callback como un objeto images.roi.ROIClickedEventData
, que permite definir funciones de callback que responden a diferentes tipos de acciones. Por ejemplo, puede definir una función de callback para reanudar la ejecución del programa cuando hace clic en la ROI mientras pulsa la tecla Mayús o cuando hace clic en una parte específica de la ROI, como la etiqueta.
function clickCallback(~,evt) if strcmp(evt.SelectionType,'double') uiresume; end end
Consulte también
drawrectangle
| Rectangle
| addlistener
| uiresume
| uiwait