主要内容

图像属性

形象外观与行为

图像的外观和行为图像对象。通过更改属性值,可以修改图像的某些方面。使用点表示法来查询和设置属性。

我=图像(兰德(20));C = im.CData;即时通讯。CDataMapping =“缩放”;

图像数据和质量

全部展开

图像颜色数据,以下列形式之一指定:

  • 向量或矩阵——这种格式定义了索引图像数据。每个元素为图像的一个像素定义一种颜色。元素映射到colormap中的颜色。的CDataMapping属性控制映射方法。

  • RGB三元组的三维数组——这种格式使用RGB三元组值定义了真彩色图像数据。每个RGB三元组为图像的一个像素定义一种颜色。RGB三元组是一个三元素向量,它指定颜色的红、绿、蓝成分的强度。3d阵列的第一页包含红色组件,第二页包含绿色组件,第三页包含蓝色组件。由于图像使用的是真颜色而不是彩色地图颜色,因此CDataMapping财产没有影响。

    • 如果CData的类型是,则RGB三元组值为(0 0 0)对应于黑色和(1 1 1)对应于白色。

    • 如果CData是整数类型,则图像使用全范围的数据来确定颜色。例如,如果CData的类型是uint8,然后(0 0 0)对应于黑色和(255 255 255)对应于白色。如果CData的类型是int8,然后(-128 -128 -128)对应于黑色和(127 127 127)对应于白色。

    • 如果CData的类型是逻辑,然后(0 0 0)对应于黑色和(1 1 1)对应于白色。

的相对尺寸CData对于两种颜色的型号。

的行为元素没有定义。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

颜色数据映射方法,指定为“直接”“缩放”.中的颜色数据值的映射CDatacolormap。CData必须是一个定义索引颜色的向量或矩阵。此属性在以下情况下无效CData是一个定义真实颜色的3d阵列。

这些方法有以下效果:

  • “直接”-将值解释为当前颜色图的索引。带有小数部分的值被固定为最近的低整数。

    • 如果值是类型,则1或更少的映射到色彩图中的第一个颜色。值等于或大于colormap映射到colormap中最后一种颜色的长度。

    • 如果值是类型uint8uint16uint32uint64int8int16int32,或int64,则0或更少的映射到色彩图中的第一个颜色。值等于或大于colormap映射到colormap中最后一个颜色的长度(或达到类型的范围限制)。

    • 如果值是类型逻辑,则0的值映射到色彩图中的第一个颜色1映射到色彩图中的第二个颜色。

  • “缩放”-将值缩放到最小和最大颜色限制之间的范围。的这一属性包含颜色限制。

透明度数据,以下列形式之一指定:

  • 标量——在整个图像中使用一致的透明度。

  • 数组的大小相同CData-为每个图像元素使用不同的透明度值。

AlphaDataMapping属性如何控制MATLAB®解释alpha数据透明度值。

例子:0.5

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

的解释AlphaData值,指定为以下值之一:

  • “没有”—将这些值解释为透明度值。1或更大的值是完全不透明的,0或更小的值是完全透明的,0到1之间的值是半透明的。

  • “缩放”-将值映射到图的字母映射。坐标轴的最小和最大alpha极限分别确定映射到alphamap中第一个和最后一个元素的alpha数据值。例如,如果极限是[3 - 5],则alpha数据值小于或等于3.映射到字母映射中的第一个元素。Alpha数据值大于或等于5映射到字母映射中的最后一个元素。的阿利姆属性包含极限。的Alphamap属性包含字母映射。

  • “直接”-将这些值解释为数字字母图的索引。带有小数部分的值被固定为最近的低整数:

    • 如果值是类型,则小于或等于1的值映射到alphamap中的第一个元素。等于或大于到alphamap中最后一个元素的alphamap映射长度的值。

    • 如果值为整型,则0或0以下的值映射到alphamap中的第一个元素。等于或大于alphamap映射到alphamap中最后一个元素的长度(或到类型的范围限制)的值。整数类型为uint8uint16uint32uint64int8int16int32,int64

    • 如果值是类型逻辑,那么0的值映射到alphamap中的第一个元素,1的值映射到alphamap中的第二个元素。

插值方法,指定为“最近的”双线性的.MATLAB使用插值在屏幕上显示图像的缩放或旋转版本。所选择的值不会影响图像数组。但是,如果您保存图像或导出轴的内容,MATLAB会保存插值后的图像可视化表示。

根据你的图像内容和你想要达到的效果选择插值方法:

  • “最近的”当有少量像素值代表不同的类别时,或者当你想在高度放大的视图中看到单个像素时,这种方法是最好的。位于(的像素的值。xy)是最接近(的像素的值。xy)在原图中。

  • 双线性的这种方法在几乎所有其他情况下都是最好的。位于(的像素的值。xy)是原始图像周围像素的加权平均值。为了尽量减少显示工件,在缩小图像时应用额外的平滑。如果您的MATLAB会话或图形正在使用画家渲染器,那么当图像缩小时就没有额外的平滑。要确定渲染器,请调用rendererinfo函数。

自从R2022b

最大呈现分辨率,指定为“没有”或者一个正整数。使用这个属性来控制MATLAB用来显示较大尺寸图像的最大分辨率。较小的尺寸进行调整以保持长宽比。所指定的值影响屏幕上的显示,但不影响存储在CData属性。

指定“没有”以全分辨率显示图像。指定一个数字来限制显示的图像的大小。大量(和“没有”)提供更高质量的图像,但初始图像可能需要较长的渲染时间。较小的数字提供了低采样图像,但渲染速度更快。

通常,当指定的值小于原始图像的最大图像维数时,图像呈现得更快。但是,如果您指定的值只比它小一个或几个像素,则该图像的初始呈现可能比以完全分辨率呈现它所需的时间要长。

示例:显示下采样图像

peppers.png,这是一个384 × 512的RGB图像。然后调用显示亮度图像函数沿较大维度使用128像素显示图像。较小的尺寸缩小到96像素,以保持原始的纵横比。

imdata = imread (“peppers.png”);显示亮度图像(imdata“MaxRenderedResolution”, 128)

以96 × 128像素的分辨率显示

位置

全部展开

放置在x-axis,以下列形式之一指定:

  • 双元素向量——使用第一个元素作为中心的位置CData (1, 1)第二个元素是中心的位置CData (m, n),在那里[m, n] =大小(CData).均匀分布剩余的中心CData这两点之间的元素。

    每个像素的宽度由以下表达式决定:

    (XData (2) -XData(1) /(大小(CData, 2) 1)

    如果XData (1)>XData (2),则图像左右翻转。

  • 标量-中心CData (1, 1)在这个位置和后面的每个元素相隔一个单位。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

放置在y-axis,以下列形式之一指定:

  • 双元素向量——使用第一个元素作为中心的位置CData (1, 1)第二个元素是中心的位置CData (m, n),在那里[m, n] =大小(CData).均匀分布剩余的中心CData这两点之间的元素。

    每个像素的高度由以下表达式决定:

    (YData (2) -YData(1) /(大小(CData, 1) 1)

    如果YData (1)>YData (2),然后将图像上下翻转。

  • 标量-中心CData (1, 1)在这个位置和后面的每个元素相隔一个单位。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

交互性

全部展开

可见状态,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的开/关逻辑值matlab.lang.OnOffSwitchState

  • “上”—显示对象。

  • “关闭”—隐藏对象,不删除对象。你仍然可以访问不可见对象的属性。

数据提示内容,指定为DataTipTemplate对象。可以通过修改底层的属性来控制出现在数据提示中的内容DataTipTemplate对象。有关属性列表,请参见DataTipTemplate属性

有关修改数据提示的示例,请参见创建自定义数据提示

此属性仅应用于具有固定数据提示的图像。

请注意

DataTipTemplate对象没有返回findobjfindall,它不被复制copyobj

上下文菜单,指定为快捷菜单对象。使用此属性可在右键单击对象时显示上下文菜单。方法创建上下文菜单uicontextmenu函数。

请注意

如果PickableParts属性设置为“没有”或者如果HitTest属性设置为“关闭”,则不会出现上下文菜单。

选择状态,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).的值“上”等于true,和“关闭”相当于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的开/关逻辑值matlab.lang.OnOffSwitchState

  • “上”——选择。如果您在绘图编辑模式下单击对象,那么MATLAB将设置其选择财产“上”.如果SelectionHighlight属性也设置为“上”,然后MATLAB在对象周围显示选择句柄。

  • “关闭”——而不是选择。

选中时显示选择句柄,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).的值“上”等于true,和“关闭”相当于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的开/关逻辑值matlab.lang.OnOffSwitchState

  • “上”-显示选择处理时选择属性设置为“上”

  • “关闭”-从不显示选择句柄,即使当选择属性设置为“上”

将对象剪切到坐标轴的限制,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).的值“上”等于true,和“关闭”相当于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的开/关逻辑值matlab.lang.OnOffSwitchState

  • 的值“上”剪辑对象中坐标轴限制之外的部分。

  • 的值“关闭”显示整个对象,即使部分对象出现在轴限制之外。如果您创建一个plot, set,对象的部分可能出现在轴限制之外抓住,冻结轴缩放,然后创建对象,使其比原始的绘图更大。

剪裁属性的值必须设置为“上”.否则,此属性将不起作用。有关剪切行为的更多信息,请参见剪裁轴的性质。

回调

全部展开

鼠标点击回调,指定为以下值之一:

  • 函数处理

  • 包含函数句柄和附加参数的单元格数组

  • 字符向量,是有效的MATLAB命令或函数,在基本工作区中求值(不推荐)

在单击对象时,使用此属性执行代码。如果使用函数句柄指定此属性,那么MATLAB在执行回调函数时将传递两个参数给回调函数:

  • 被点击对象——从回调函数内部访问被点击对象的属性。

  • 事件数据-空参数。用波浪号字符(),以指示此参数未被使用。

有关如何使用函数句柄定义回调函数的更多信息,请参见为图形对象创建回调函数

请注意

如果PickableParts属性设置为“没有”或者如果HitTest属性设置为“关闭”,则不执行此回调。

对象创建函数,指定为以下值之一:

  • 函数处理。

  • 单元格数组,其中第一个元素是函数句柄。单元格数组中的后续元素是传递给回调函数的参数。

  • 字符向量包含有效的MATLAB表达式(不推荐)。MATLAB在基本工作区中计算这个表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见为图形对象创建回调函数

此属性指定MATLAB创建对象时要执行的回调函数。函数执行之前,MATLAB初始化所有属性值CreateFcn回调。如果不指定CreateFcn属性,然后MATLAB执行一个默认的创建函数。

设置CreateFcn属性对现有组件没有影响。

如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问正在创建的对象。否则,使用gcbo函数来访问对象。

对象删除函数,指定为以下值之一:

  • 函数处理。

  • 单元格数组,其中第一个元素是函数句柄。单元格数组中的后续元素是传递给回调函数的参数。

  • 字符向量包含有效的MATLAB表达式(不推荐)。MATLAB在基本工作区中计算这个表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见为图形对象创建回调函数

此属性指定在MATLAB删除对象时执行的回调函数。MATLAB执行DeleteFcn在销毁对象的属性之前调用。如果不指定DeleteFcn属性,然后MATLAB执行一个默认删除函数。

如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问正在删除的对象。否则,使用gcbo函数来访问对象。

回调执行控制

全部展开

回调中断,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的开/关逻辑值matlab.lang.OnOffSwitchState

此属性确定正在运行的回调是否可以中断。有两种回调状态需要考虑:

  • 运行回调是当前正在执行的回调。

  • 打断回调是一个试图中断正在运行的回调的回调。

MATLAB在执行处理回调队列的命令时确定回调中断行为。这些命令包括drawnow数字uifiguregetframe等待,暂停

如果正在运行的回调不包含这些命令中的任何一个,则不会发生中断。MATLAB首先完成运行回调的执行,然后执行中断回调。

如果正在运行的回调函数包含这些命令中的一个,则可中断属性的值确定中断是否发生:

  • 的值可中断“关闭”,则不会出现中断。相反,BusyAction属性的属性确定中断回调是被丢弃还是被添加到回调队列。

  • 的值可中断“上”,则中断发生。下一次MATLAB处理回调队列时,它将停止正在运行的回调的执行,并执行中断的回调。在中断回调完成后,MATLAB继续执行正在运行的回调。

请注意

回调中断和执行在以下情况下表现不同:

  • 如果中断回调函数是DeleteFcnCloseRequestFcn,或SizeChangedFcn回调函数,则中断发生而不管可中断属性值。

  • 如果正在运行的回调函数当前正在执行等待函数,则中断发生而不管可中断属性值。

  • 如果中断回调函数属于计时器对象,则回调函数将根据调度执行,而不考虑可中断属性值。

请注意

当中断发生时,MATLAB不会保存属性或显示的状态。方法返回的对象gcagcf命令可能在执行另一个回调时更改。

回调队列,指定为“队列”“取消”.的BusyAction属性决定了MATLAB如何处理中断回调的执行。有两种回调状态需要考虑:

  • 运行回调是当前正在执行的回调。

  • 打断回调是一个试图中断正在运行的回调的回调。

BusyAction属性仅在满足以下两个条件时确定回调队列行为:

在这些条件下,BusyAction拥有中断回调对象的属性决定了MATLAB如何处理中断回调。这些是可能的值BusyAction属性:

  • “队列”—在正在运行的回调完成执行后,将中断回调放入队列中进行处理。

  • “取消”—不执行中断回调。

捕捉鼠标点击的能力,指定为以下值之一:

  • “可见”-捕获鼠标点击仅当可见。的可见属性必须设置为“上”.的HitTest属性确定是否图像对象对单击作出响应,或者如果父对象作出响应。

  • “没有”—无法捕获鼠标单击。单击图像对象将单击传递给图形窗口当前视图中它后面的对象。的HitTest财产的图像对象没有效果。

对捕获的鼠标单击的响应,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).的值“上”等于true,和“关闭”相当于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的开/关逻辑值matlab.lang.OnOffSwitchState

  • “上”——触发ButtonDownFcn回调的图像对象。如果您已经定义了快捷菜单属性,然后调用上下文菜单。

  • “关闭”类的最近祖先触发回调图像对象,该对象具有以下内容之一:

    • HitTest属性设置为“上”

    • PickableParts属性设置为使祖先能够捕获鼠标单击的值

请注意

PickableParts属性确定是否图像对象可以捕获鼠标单击。如果不能,那么HitTest财产没有影响。

此属性是只读的。

删除状态,作为类型的开/关逻辑值返回matlab.lang.OnOffSwitchState

MATLAB设置BeingDeleted财产“上”DeleteFcn回调函数开始执行。的BeingDeleted物业仍设为“上”直到组件对象不再存在。

的值BeingDeleted属性以在查询或修改对象之前验证该对象是否即将被删除。

父/子

全部展开

父类,指定为集团,或变换对象。

儿女,归为空GraphicsPlaceholder数组或一个DataTip对象数组。使用此属性可查看图表上绘制的数据提示列表。

方法无法添加或删除子节点孩子们财产。若要向此列表添加子对象,请设置财产的DataTip对象添加到图表对象。

对象句柄的可见性孩子们属性,指定为以下值之一:

  • “上”-对象句柄始终可见。

  • “关闭”对象句柄在任何时候都是不可见的。此选项用于防止另一个函数的意外更改。设置HandleVisibility“关闭”在函数执行期间临时隐藏句柄。

  • “回调”对象句柄在回调函数或回调函数调用的函数中可见,但在从命令行调用的函数中不可见。该选项阻止在命令行访问对象,但允许回调函数访问它。

中未列出的对象孩子们属性,则通过搜索对象层次结构或查询句柄属性获得对象句柄的函数不能返回该属性。此类函数的示例包括得到findobjgcagcfgconewplotclf,关闭功能。

隐藏对象句柄仍然有效。设置根ShowHiddenHandles财产“上”列出所有对象句柄,而不管它们HandleVisibility属性设置。

标识符

全部展开

此属性是只读的。

图形对象的类型,返回为“图像”

对象标识符,指定为字符向量或字符串标量。您可以指定一个惟一的标签值作为对象的标识符。当需要访问代码中其他地方的对象时,可以使用findobj方法搜索对象标签价值。

用户数据,指定为任何MATLAB数组。例如,可以指定标量、向量、矩阵、单元格数组、字符数组、表或结构。使用此属性可在对象上存储任意数据。

如果您正在使用App Designer,请在应用程序中创建公共或私有属性来共享数据,而不是使用用户数据财产。有关更多信息,请参见在应用程序设计程序中共享数据

版本历史

之前介绍过的R2006a

全部展开

Baidu
map