主要内容

交互式工具工作流

使用交互工具通常涉及以下步骤。

在图窗口中显示目标图像

显示要处理的图像(称为目标图像)。®图窗口。的imshow函数,因为它为图像显示优化了图形、轴和图像对象属性,但也可以使用图像显示亮度图像功能。

一些工具将自己添加到包含图像的图形窗口中。通过包含边框来防止工具在图像上显示。如果您正在使用imshow函数,然后确保图像处理工具箱™ImshowBorder首选项设置为“宽松”(这是默认设置)。

创建工具

在图形窗口中显示图像后,使用相应的工具创建函数创建一个或多个工具。有关可用工具的列表,请参见交互式图像查看和处理工具.这些函数创建工具并自动建立工具和目标图像之间的交互连接。

关联工具与目标图像

在创建工具时,可以指定目标图像,也可以让工具选择合适的目标图像。

  • 要指定目标图像,提供目标图像的句柄作为工具创建函数的输入参数。句柄可以是特定的图像对象,也可以是包含图像的图形、轴或uipanel对象。

  • 要让工具选择目标图像,请调用不带输入参数的工具创建函数。默认情况下,工具使用当前图中的图像作为目标图像。如果当前图形包含多个图像,那么该工具将与图形对象的子对象中的第一个图像(创建的最后一个图像)关联。注意,并非所有工具都提供无参数语法。

有些工具可以处理一个图中的多个图像。这些都是impixelinfoimpixelinfoval,imdisplayrange

指定工具的父级

在创建工具时,可以选择指定要作为工具父对象的对象。通过指定父元素,您可以确定工具在屏幕上的显示位置。使用工具创建函数的这种语法,您可以将工具添加到包含目标图像的图形窗口中,在单独的图形窗口中打开工具,或者创建一些其他组合。

指定父级是可选的。当您不指定父级时,工具将使用默认行为。

  • 一些较小的工具,如Display Range工具和Pixel Information工具,使用目标图像的父图像作为它们的父图像,将自己插入到与目标图像相同的图形窗口中。

  • 其他工具,如“调整对比度”工具和“选择色彩图”工具,可以打开各自独立的图形。

  • 两个工具,Overview工具和Pixel Region工具,有不同的创建功能来指定父图。它们主要的创造功能,imoverview而且impixelregion,在单独的图形窗口中打开工具。要指定不同的父级,必须使用imoverviewpanel而且impixelregionpanel功能。示例请参见创建像素区域工具

    请注意

    Overview工具和Pixel Region工具在各自的图形窗口中创建时提供了额外的功能。例如,这两个工具都包括缩放按钮,这不是它们的uipanel版本的一部分。

位置的工具

每个工具都有默认的定位行为。例如,impixelinfo函数将工具创建为一个uipanel对象,该对象是图形窗口的全宽度,位于目标图像图形窗口的左下角。

因为这些工具是由图形对象(比如uipanel对象)构造的,所以您可以通过设置对象的属性来更改它们的默认位置或其他特征。要指定工具或其他图形对象的位置,请设置位置属性作为四元素位置向量[左底宽高].的值而且指定父容器对象到左下角的距离,如图形。的值宽度而且高度指定对象的尺寸。

的值指定位置矢量时,可以指定矢量中值的单位单位属性。为了允许更好的调整大小行为,请使用规范化单位,因为它们指定工具的相对位置,而不是以像素为单位的确切位置。

例如,当您第一次在图中创建一个嵌入的Pixel Region工具时,它似乎会接管整个图,因为在默认情况下,位置向量被设置为[0 0 1 1]标准化单位。这个位置向量告诉工具将自己与其父对象的左下角对齐,并填充整个对象。为了容纳图像、像素信息工具和显示范围工具,更改图窗口下半部分的像素区域工具的位置,在底部留出空间给像素信息和显示范围工具。这是像素区域工具的位置矢量。

集(hpixreg,“单位”“归一化”“位置”,[0 .08 1 .4])

为了适应像素区域工具,重新定位目标图像,使其适合图窗口的上半部分,使用以下位置向量。要重新定位映像,必须指定位置属性的值;图像对象没有位置财产。

集(hax,“单位”“归一化”“位置”,[0 0.5 1 0.5])

示例请参见创建像素区域工具

添加导航艾滋病

工具箱包含了一些工具,您可以使用它们向GUI应用程序添加导航辅助工具。

滚动面板是主要的导航工具,是其他导航工具的先决条件。当您在滚动面板中显示图像时,如果图像太大,无法装入图形窗口,则工具只显示图像的一部分。当图像只有一部分可见时,滚动面板添加水平和垂直滚动条,以支持查看当前不可见的图像部分。

一旦您创建了滚动面板,您可以选择添加其他导航工具:概述工具和放大工具。Overview工具显示整个图像的视图,按比例缩放以适应,并在其上叠加一个矩形,表示当前在滚动面板中可见的图像部分。放大倍数框显示图像的当前放大倍数,可用于更改放大倍数。

向图像显示添加滚动面板将改变显示中使用的图形对象之间的关系。有关更多信息,请参见添加滚动面板到图

请注意

工具箱导航工具与标准的MATLAB图形窗口导航工具不兼容。在GUI中使用这些工具时,请禁用图窗口中的工具栏和菜单栏,以避免工具之间的冲突。

自定义工具互动

当您创建一个工具并将其与目标映像关联时,该工具将自动在目标映像和工具之间建立必要的连接。

有些工具具有到目标映像的单向连接。当您与目标映像交互时,这些工具将得到更新,但您不能使用该工具修改目标映像。例如,像素信息工具接收关于当前指针下像素的位置和值的信息。

其他工具与目标映像有双向连接。当您与目标映像交互时,这些工具将得到更新,并且您可以通过与这些工具交互来更新目标映像。例如,Overview工具建立到目标映像的双向连接。对于该工具,如果您通过滚动、平移或更改放大倍率来更改目标图像的可见部分,则Overview工具将更改细节矩形的大小和位置,以匹配当前可见的图像部分。相反,如果您移动Overview工具中的详细信息窗口,则该工具将更新滚动面板中目标图像的可见部分。

这些工具通过使用图形对象的回调属性来实现这种交互性。例如,figure对象支持a金宝appWindowButtonMotionFcn每当按下鼠标按钮时执行的回调函数。通过使用与工具关联的应用程序编程接口(API)来设置回调以获取事件通知,您可以自定义工具的连通性。有关更多信息,请参见回调——对用户操作的程序化响应而且概述事件和侦听器.示例请参见构建图像比较工具

例如,放大框支持一个API函数:金宝appsetMagnification.您可以使用这个API函数来设置“放大倍数”框中显示的放大倍数值。“放大倍率”框自动通知滚动面板根据该值更改图像的放大倍率。滚动面板还支持广泛的API函数集。金宝app要获得有关这些api的信息,请参阅每个工具的参考页面。

相关的例子

更多关于