将灰度范围缩放为 8 位
使用此工具可以根据预定义的灰度值范围,将灰度图像扩展到 8 位图像。您可以将任意像素类型的图像用作输入,例如,16 位图像。
提供的大多数 MERLIC 工具都需要将 8 位图像用作输入。因此,建议转换任意其他像素的图像,确保可在后续工具中处理这些图像。如果您使用的不是 8 位图像,例如,从三维传感器采集的图像,则应该先使用此工具转换图像,再在 MERLIC 中执行任何处理任务。所以,通过此工具可准备各种灰阶图像,特别是三维高度图像,以便在 MERLIC 中进行处理。缩放的图像之后可用于在后续工具中执行进一步处理任务。
在转换图像时,特定的灰度值范围会被缩放为 8 位图像的范围。这意味着生成图像的灰度值范围为 0 到 255。灰度值范围的最小值和最大值从不同的来源确定:从训练图像、处理图像或预定义灰度值确定。因此,与转换像素类型工具相比,通过此工具可以只将特定的灰度值范围缩放为 8 位图像,而不是处理整个灰度值范围。
此工具提供训练模式,但只有在灰度值范围从训练图像确定时才需要使用训练模式。如果您想从处理图像或预定义最小/最大灰度值确定灰度值范围,则训练图像将不起作用。请参阅使用训练模式,进一步了解如何使用需要训练的工具。
除了转换为 8 位图像,如果您的图像是从三维传感器采集的,那么可能还需要执行一些额外的预处理步骤。类别三维高度图像中提供的 MERLIC 工具特别适用于此预处理任务。有关建议的预处理步骤顺序的更多详细信息,请参阅三维高度图像主题。
定义灰度值范围
您可以选择不同的来源来转换图像。在 “灰度范围来源” 参数中选择的来源指定如何确定要缩放的灰度值范围以及从哪个图像确定。
从训练图像确定灰度值范围
在此模式中,灰度值的上下限从所选的训练图像自动确定。
- 在 “灰度范围来源” 参数中选择来源 “训练图像(训练 ROI)”。
- 选择您想用于确定灰度值范围的训练图像。
- 您还可以定义确定灰度值范围的特定区域:
- 更改为所选训练图像。
- 在训练图像中绘制 ROI。之后,将仅从定义的 ROI 区域内的灰度值确定最小和最大灰度值。如果 ROI 连接到 “灰度范围 ROI” 参数,则不会起作用,因为 ROI 必须在训练图像中手动定义。如果不使用 ROI,则灰度值范围将从整个训练图像确定。
- 您还可以调整 “范围扩大” 参数的值,以按预定义系数扩大确定的灰度值范围。
生成的灰度值范围将用于转换所有处理图像。灰度值范围的上下限用于缩放图像,会在 “使用的最小灰度值” 和 “使用的最大灰度值” 工具结果中返回。
“预定义最小灰度值” 和 “预定义最大灰度值” 参数在此模式中不起作用,因为灰度值范围将从训练图像自动确定。
从处理图像定义灰度值范围
如果选择此模式,灰度值的上下限将从处理图像确定。
- 在 “灰度范围来源” 参数中选择来源 “处理图像(灰度范围区域/ROI)”。
- 您还可以通过在处理图像中绘制 ROI 来定义用于确定灰度值范围的特定区域。之后,最小和最大灰度值将从处理图像中的相应图像部分确定。
- 您还可以调整 “范围扩大” 参数中的值,以按预定义系数扩大确定的灰度值范围。
生成的已确定灰度值范围将仅适用于转换当前处理图像。每个处理图像都需要重新确定灰度值范围。因此,每个图像使用一个灰度值范围。“使用的最小灰度值” 和 “使用的最大灰度值” 工具结果会返回最终的灰度值范围最小和最大值,用于在当前处理图像中缩放图像。
“预定义最小灰度值” 和 “预定义最大灰度值” 参数在此模式中不起作用,因为灰度值范围将从处理图像自动确定。
通过预定值定义灰度值范围
通过此模式可以在相应的参数中手动定义灰度值范围的上下限。
- 在 “灰度范围来源” 参数中选择来源 “预定义最小/最大灰度值”。
- 在相应的 “预定义最小灰度值” 参数中选择所需的灰度值范围最小值。
- 在相应的 “预定义最大灰度值” 参数中选择所需的灰度值范围最大值。
定义的灰度值范围将用于转换所有处理图像。
由于手动定义了灰度值范围,因此定义的感兴趣区域 (ROI) 可能对上下限不起作用。
参数
根据参数“灰度范围来源”的选定来源,一些连接器会显示为灰色。这意味着它们不适用于当前选定的来源,因此不起作用。
基本参数
图像:
此参数表示要转换的灰阶图像。您可以使用以下像素类型的图像:
|
像素类型 |
描述 |
取值范围 |
|---|---|---|
|
int1 |
每个像素 1 字节,有符号 |
-128 ...127 |
|
uint2 |
每个像素 2 字节,无符号 |
0 ...65535 (216 -1) |
|
int2 |
每个像素 2 字节,有符号 |
-32768 (-215) ...32767 (215 - 1) |
|
int4 |
每个像素 4 字节,有符号 |
-2147483648 (-231) ...2147483647 (231 - 1) |
|
int8 |
每个像素 8 字节,有符号 |
-9223372036854775808 (-263) ...9223372036854775807 (263 - 1) |
|
real |
每个像素 4 字节,浮点 精度:6 位有效位数 |
-3.4e38 到 3.4e38 |
灰度范围来源:
此参数定义如何确定要缩放为 8 位范围的灰度值范围以及从哪个图像确定。默认情况下,此值设置为“训练图像(训练 ROI)”。您可以从以下来源中选择:
|
值 |
描述 |
|---|---|
|
训练图像(训练 ROI) |
最小和最大灰度值从训练图像自动确定。生成的灰度值范围可通过 “范围扩大” 参数进一步调整。您还可以通过绘制 ROI 来限制确定值的区域。最终灰度值范围将适用于转换所有处理图像。 |
|
处理图像(灰度范围区域/ROI) |
最小和最大灰度值从处理图像自动确定。生成的灰度值范围可通过 “范围扩大” 参数进一步调整。您还可以限制确定值的区域,方法是绘制 ROI,或分别针对 “灰度范围 ROI” 或 “灰度范围区域” 参数使用先前工具的 ROI 或区域。如果选择此灰度范围来源,则每个处理图像都需要重新确定一个灰度值范围。 |
|
预定义最小/最大灰度值 |
通过此模式可以在 “预定义最小灰度值” 和 “预定义最大灰度值” 参数中手动定义最小和最大灰度值。如果选择此灰度范围来源,则仅通过在这些参数中设定的值来定义灰度值范围。 |
另请参阅定义灰度值范围部分,详细了解如何使用每个转换方法。
如果从 ROI 定义的图像部分确定灰度值范围,则此灰度值范围可能不涵盖处理图像的所有灰度值。在这种情况下,这些灰度值将根据确定的最小和最大灰度值被剪除,以用于转换图像。
在可能存在无效灰度值数据的情况下,例如,如果用于图像采集的三维传感器在某些像素上未提供正确的灰度值数据,则您可以提前使用删除离群像素工具纠正这些数据。
其他参数
灰度范围 ROI:
此参数表示灰度范围的感兴趣区域 (ROI),前提是在 “灰度范围来源” 参数中选择了 “处理图像(灰度范围区域/ROI)”。结合 “灰度范围区域” 参数,还可以定义确定灰度值范围的区域,因为灰度值范围从 “灰度范围区域” 参数中定义的区域和 ROI 的并集确定。在两者都为空的情况下,灰度值范围从整个图像确定。未处理的图像部分将被删除。
默认情况下,“灰度范围 ROI” 定义为空 ROI。如果您想使用非空 ROI 进行处理,则必须将参数连接到先前工具的适当 ROI 结果,以确保 ROI 会传输到此工具,或者必须使用可用的 ROI 按钮在图像中绘制新的 ROI。
在此参数中定义的 ROI 仅在 “灰度范围来源” 参数中选择了灰度范围来源 “处理图像(灰度范围区域/ROI)” 时适用。对于所有其他灰度范围来源,此参数不起作用。
对齐数据:
此参数表示用于对齐 ROI 的对齐数据。默认情况下不会连接对齐数据,因此不显示任何效果。如果想要使用特定对齐数据,您必须将参数连接至前一工具的适当结果,例如通过匹配确定对齐、确定与直线边缘对齐、对齐图像或旋转图像。
在工具“将灰度范围缩放为 8 位”中,对齐数据用于对齐 灰度范围 ROI,但前提是在参数“灰度范围来源”中选中灰度范围来源“处理图像(灰度范围区域/ROI)”。
预定义最小灰度值:
此参数定义要缩放到 8 位图像范围的灰度值范围最小值。仅在“灰度范围来源”参数设为“预定义最小/最大灰度值”时应用此参数。
默认情况下,此参数设置为“未定义”。 然而,一旦选择“预定义最小/最大灰度值”作为灰度范围来源,将根据图像的像素类型自动确定并相应设置最小值。您也可以将该值手动调整为所需的灰度值。
下表显示图像的相应像素类型的值范围:
|
像素类型 |
取值范围 |
|---|---|
|
byte |
[0, 255] |
|
int1 |
[-127, 127] |
|
int2 |
[-32768, 32767] |
|
uint2 |
[0, 65535] |
|
所有其他像素类型 |
[-100000.0, 100000.0] |
预定义最大灰度值:
此参数定义要缩放到 8 位图像范围的灰度值范围最大值。仅在“灰度范围来源”参数设为“预定义最小/最大灰度值”时应用此参数。
默认情况下,此参数设置为“未定义”。 然而,一旦选择“预定义最小/最大灰度值”作为灰度范围来源,将根据图像的像素类型自动确定并相应设置最大值。您也可以将该值手动调整为所需的灰度值。相应的取值范围还取决于图像的像素类型。请参阅“预定义最小灰度值”参数说明中的表格,以查看不同取值范围的概述。
范围扩大:
此参数定义扩大定义的灰度值范围的系数,范围扩大定义为百分比值,默认设为 0。它指的是用于确定缩放灰度范围的图像中的灰度范围。首先,从相应的灰度范围计算相应的扩大值。然后,已确定用于缩放的灰度范围下限和上限各扩大计算的扩大值的一半。
用于计算实际扩大值的灰度范围取决于所选灰度范围来源以及 ROI 或区域的使用:
如果选择 “预定义最小/最大灰度值” 作为灰度范围来源,则根据已在参数 “预定义最小灰度值” 和 “预定义最大灰度值” 定义的灰度范围计算扩大值。
如果选择 “训练图像(训练 ROI)” 作为灰度范围来源,则根据训练图像的灰度范围计算扩大值。如果在训练图像中使用了 ROI,则仅使用相应 ROI 内的灰度范围来计算范围扩大值。如果在训练图像中未使用任何 ROI,则使用整个训练图像的灰度范围。
如果选择 “处理图像(灰度范围区域/ROI)” 作为灰度范围,则根据当前处理图像的灰度范围计算扩大值。如果在训练图像中使用了 ROI 或区域,则仅使用相应 ROI 和区域内的灰度范围来计算范围扩大值。如果未使用 ROI 和 区域,则使用整个处理图像的灰度范围。
我们建议将范围扩大值设置为大于 0,以防所采集的图像的灰度范围发生变化。
以下所述示例说明了范围扩大对缩放的灰度值范围有何影响:
- 选择灰度范围来源 “预定义最小/最大灰度值”。这意味着必须手动定义缩放的灰度范围来源,可能所定义的 ROI 将不起作用。
- 参数 “预定义最小灰度值” 设为 1000,参数 “预定义最大灰度值” 设为 1500。因此,用于缩放的预定义灰度值范围确定为 500。
- 参数 “范围扩大” 设为 1%。
对于此参数设置,添加到上限和下限的最终扩大值根据手动预定义的灰度范围 500(范围为 1000 到 1500)进行计算。因此,扩大系数 1% 表示灰度值扩大 5。但需将该值分给两个限值,即下限和上限将各扩大 2.5。
因此,用于缩放的最终灰度值范围将定义为 997.5 至 1502.5。
灰度范围区域:
此参数定义确定用于缩放的灰度值的区域。结合 ROI,还可以定义确定灰度值范围的区域,因为灰度值范围从此参数中定义的区域和 ROI 的并集确定。在两者都为空的情况下,灰度值范围从整个图像确定。
默认情况下,“灰度范围区域” 定义为空区域。要指定 “灰度范围区域”,您需要将该参数连接至前一工具的适当区域结果,以确保某个区域会传输到此工具。
在此参数中定义的区域仅在“灰度范围来源”参数中选择了灰度范围来源“处理图像(灰度范围区域/ROI)”时适用。对于所有其他灰度范围来源,此参数不起作用。
结果
基本结果
缩放的图像:
此结果表示已缩放到 0 到 255 灰度值范围的 8 位图像。
使用的最小灰度值:
此结果会返回已缩放到 8 位图像范围的灰度值范围最小值。它表示已从所选灰度范围来源确定、之后又按 “范围扩大” 参数中定义的系数扩大的最小灰度值。因此,此结果提供了关于用于当前处理图像的最终灰度值范围的信息。
使用的最大灰度值:
此结果会返回已缩放到 8 位图像范围的灰度值范围最大值。它表示已从所选灰度范围来源确定、之后又按 “范围扩大” 参数中定义的系数扩大的最大灰度值。因此,此结果提供了关于用于当前处理图像的最终灰度值范围的信息。
缩放系数:
此结果会返回用于内部图像转换的倍增系数。如果需要,可以使用 “缩放偏移量” 结果列出的公式计算图像的原始灰度值。
缩放偏移量:
此结果会返回用于内部图像转换的偏移值。如果需要,可以使用以下公式计算图像的原始灰度值:
工具状态:
“工具状态”返回有关工具状态的信息,因此可用于处理错误。请参阅主题工具状态结果,了解关于不同工具状态结果的更多信息。
其他结果
处理时间:
此结果返回最近一次执行工具的持续时间(以毫秒为单位)。该结果作为附加结果提供。因此,默认情况下它是隐藏的,但是可以通过工具结果旁边的 按钮显示。有关更多信息,处理时间请参工具参考中所阅部分。
应用程序示例
此工具用于以下 MERLIC Vision App 示例:
- check_correct_filling_on_3d_height_images.mvapp
- read_text_in_3d_height_image.mvapp