# OCRMaxSettings

OCRMax 函数的外部分割、高级分类和字符安排设置 ，可在运行时调整。此函数提供对设置的编程控制，支持从远程设备调整参数。

## OCRMaxSettings 输入

参数 | 说明
分割 | 指定用于执行分割的参数设置。
字符极性 | 指定输入图像中字符的极性。 注意:要提高函数的性能，请指定文本的极性。
1 = 白底黑色 | 文本的极性是白色背景上的黑色文本。
2 = 黑底白色 | 文本的极性是黑色背景上的白色文本。
4 = 自动（默认值） | 该功能会自动确定文本和背景的极性。
字符宽度类型 | 指定字体中字符的宽度预期如何变化，这决定了字符片段应如何合并或拆分。 注意:字符宽度是字符区域（例如墨水的边框）的宽度，而不是关注区域 (ROI)（通常包括字符矩形周围的填充）的宽度。
1 = 自动（默认值） | 字符宽度未知；字体的宽度可能是固定或成比例的。比指定的最大字符宽度宽的字符片段将被拆分为宽度可能相同或不同的单个字符，具体取决于函数确定拆分字符片段的最佳位置。
2 = 固定 | 字体中的所有字符区域都具有相同的宽度。比指定的最大字符宽度宽的字符片段将被拆分为宽度可能相同或不同的单个字符。
4 = 可变 | 字体中的字符的字符区域可能具有不同的宽度。比指定的最大字符宽度宽的字符片段将被拆分为宽度可能相同或不同的单个字符，具体取决于函数确定拆分字符片段的最佳位置。
最小字符宽度 | 指定字符为了能被报告而必须具有的字符区域的最小宽度，以像素为单位（1 - 1000；默认值 = 3）。此设置有助于过滤背景噪音或其他非文本特征。
使用最大字符宽度 | 指定函数是否应考虑字符的字符区域的最大允许宽度。此设置可用于帮助函数确定是否应拆分或合并某个字符片段。如果要分割字符片段，字符宽度类型参数将决定要使用的正确技术。
0 = OFF（默认值） | 该函数将不会考虑字符的字符区域的最大允许宽度。
1 = ON | 该函数将考虑字符区域的最大允许宽度。启用后，比指定值更宽的字符将被分成不太宽的多个部分。
最大字符宽度 | 指定字符的字符区域的最大允许宽度，以像素为单位（1 - 5000；默认值 = 100）。 注意:此设置将不可用，除非使用最大字符宽度参数已启用。
最小字符高度 | 指定字符为了能够被报告而必须具有的字符区域的最小高度，以像素为单位（1 - 1000；默认值 = 3）。此设置有助于过滤背景噪音或其他非文本特征。
使用最大字符高度 | 指定函数是否应考虑字符的字符区域的最大允许高度。该值以两种方式使用：首先，该值在作为整体查找行时使用，例如拒绝垂直相邻的噪声和/或垂直相邻字符的其他行。另一种是当一个单独字符的高度超过了该数值时，该字符会被修整以符合这个高度。
0 = OFF（默认值） | 该函数将不会考虑字符的字符区域的最大允许高度。
1 = ON | 该函数将考虑字符的字符区域的最大允许高度。
最大字符高度 | 指定字符的字符区域的最大允许高度，以像素为单位（1 - 5000；默认值 = 100）。 注意:此设置将不可用，除非使用最大字符高度参数已启用。
使用最小字符纵横比 | 指定该函数是否考虑字符的最小允许纵横比，其中纵横比定义为整行字符的高度除以字符的字符区域的宽度。
0 = OFF | 该函数将不会考虑字符的最小允许纵横比。
1 = ON（默认值） | 该函数将考虑字符的最小允许纵横比。启用后，纵横比小于该值（即宽度太大）的字符将被分割成不太宽的部分。
最小字符纵横比 | 指定一个字符最小允许纵横比（0 - 500；默认值 = 80）。此设置可用于通过使用字符行的总高度间接设置字符的最大宽度，其中最大宽度等于线高度，然后除以最小字符纵横比价值。宽度超过此参数允许的字符片段将不会被合并，而是被拆分以形成两个或多个不太宽的字符片段（由字符宽度类型参数控制）。 注意:此设置不可用，除非使用最小字符纵横比参数已启用。
角度范围 | 指定角度搜索范围（0 - 45；默认值 = 0），以度为单位。 注意:如果文本行发生角度旋转或倾斜，并且该旋转或倾斜在图像之间是一致的，请配置区域以补偿这些差异。任何大于 0 的值都会增加分割过程的执行时间。
倾斜范围 | 指定倾斜搜索范围（0 - 45；默认值 = 0），以度为单位。 注意:如果文本行发生角度旋转或倾斜，并且该旋转或倾斜在图像之间是一致的，请配置区域以补偿这些差异。任何大于 0 的值都会增加分割过程的执行时间。
字符片段合并模式 | 指定该函数在分割期间形成字符时应如何合并字符片段。确定两个字符片段是否需要重叠才能被视为字符的一部分，或者之间具有水平间隙的字符片段是否可以被视为字符的一部分。
1 = 需要重叠（默认值） | 字符片段必须基于最小字符片段重叠参数水平重叠。
2 = 设置最小字符间距 | 具有水平间隙的多个字符片段可以合并形成字符，间隙小于最小字符间距参数中所定义值的任何两个片段将被合并。
4 = 设置最小字符间/最大字符内间距 | 具有水平间隙的字符片段可以合并形成字符，是否合并两个字段取决于最小字符间距和最大字符间距参数中定义的值。
最小字符片段重叠 | 指定两个字符片段能够被视为同一字符的一部分而必须相互水平重叠的最小分数（0 - 100；默认值 = 0）。默认值 (0) 将合并重叠至少 1 个像素的任意两个字符片段；更大的值将要求字符片段重叠得更多。对于有意水平重叠某些字符对（也称为字距微调）的应用，或者优化阶段无法完全纠正旋转和/或倾斜的情况（通常是因为打印不一致），需要采用默认值。
最大字符内间距 | 指定单个字符内发生的以像素为单位的最大水平间隙大小（0 - 1000；默认值 = 5），即使对于损坏的字符也是如此。 注意:在最常见的应用场景中，相邻字符之间出现的间隙总是比断裂字符内可能出现的间隙宽，此时应将最小字符间距参数设置到最大字符间距参数值，并加 1。例如，如果字符从未表现出内部水平间隙，则最大字符间距参数应设置为 0，且最小字符间距参数应设置为 1。
最小字符内间距 | 指定两个字符片段要属于不同字符而必须出现的最小水平间隙大小，以像素为单位（0 - 1000；默认值 = 0）。间隙的测量方法是从一个字符的字符区域右边缘开始到下一个字符的字符区域左边缘结束。如果两个片段之间的间隙小于此值，则必须将这些片段视为同一字符的一部分，除非组合的字符太宽（如字符最大宽度和/或字符最小纵横比参数所指定）。 注意:在最常见的应用场景中，相邻字符之间出现的间隙总是比断裂字符内可能出现的间隙宽，此时应将最小字符间距参数设置到最大字符间距参数值，并加 1。例如，如果字符从未表现出内部水平间隙，则最大字符间距参数应设置为 0，且最小字符间距参数应设置为 1。
最小字符片段大小 | 指定字符片段为了被视为能够包含在字符中而应具有的前景（即文本）像素的最小数量（0 - 1000；默认值 = 15）。设置此值时，必须将其设置得足够小以保留真实的文本片段，同时仍又足够大以从背景噪音中排除小片段。对于点阵文本和/或包含小字符（如句点）的文本，可能需要较小的值。对于实心笔划文本，字符不会分解成多个较小的部分，因此可能需要较大的值。
最小字符大小 | 指定二值化字符为了能被报告而必须具有的最小数量的前景（即文本）像素（0 - 5000；默认值 = 30）；像素太少的字符将被丢弃。此设置有助于过滤背景噪音或其他非文本特征。
高级分割 | 指定要在分割过程中应用的附加参数。
归一化模式 | 指定用于归一化图像的模式，该模式消除背景变化以利用所有 256 个灰度值 (0 - 255)。 注意:这个设置对于训练和运行时应该是相同的；训练后更改此设置可能会导致分类问题。
1 = 无 | 此时将不会执行归一化。
2 = 全局 | 执行全局归一化，使用整个 ROI 中的信息，而不是局部变化。当背景颜色和文本在整个 ROI 中保持一致时，此选项效果最好；也是最快的模式。
4 = 本地（默认值） | 执行局部归一化，使用有关 ROI 中每个局部字符区域的信息对图像进行归一化。此选项可删除背景梯度，如果全局模式不起作用，应尝试此选项。
8 = 本地高级 | 执行局部归一化，使用有关 ROI 中每个局部字符区域的信息对图像进行归一化，不仅包括对背景的调整，还包括对前景对比度的调整。此选项可删除背景梯度并针对不一致的文本对比度进行调整；另外还是三个选项中执行时间最长的。
使用笔画宽度筛选器 | 指定是否删除归一化图像中与其余片段的笔划宽度不同的所有内容。此选项可以删除某些类型的非文本特征，例如可能连接附近字符的细线。此选项还可以删除一些低对比度背景变化，否则这些变化可能会超过二值化阈值并产生错误片段和/或互相连接附近的字符。但是，如果文本的笔画宽度不一致和/或文本具有显著的可变对比度（例如，某些笔画的一些部分非常模糊），则使用此选项可能会导致问题。 注意:这个设置对于训练和运行时应该是相同的；训练后更改此设置可能会导致分类问题。
0 = OFF | 该函数将不会删除图像中与其余片段的笔划宽度不同的所有内容。
1 = ON（默认值） | 该函数将删除图像中与其余片段的笔划宽度不同的所有内容。
忽略边界片段 | 指定该函数是否将完全忽略触及 ROI 任何边界的任何片段。忽略此类片段对于非文本特征（例如可能包含在 ROI 中的标签边缘）非常有用。 注意:如果一个片段从字符区域的边界延伸到文本的主线，则该片段将被视为一个字符。启用此参数时，片段不得延伸到要排除的文本的主线。
0 = OFF（默认值） | 该函数不会忽略边界片段。
1 = ON | 该函数将忽略边界片段。
二值化阈值 | 指定范围内的一个百分比修饰符（0 - 100；默认值 = 50），用于计算归一化图像中的二值化阈值，在前景和背景之间进行二值化处理。例如，默认设置 50% 会产生大约 128 的二值化阈值（在 0-255 灰度范围内），其中 0 等于白底黑字，100 等于黑底白字。使用小于 50% 的值会改变二值化阈值，因此文本更少，背景更多，而使用大于 50% 的值会产生更少背景和更多文本。通常，默认值将正确地对图像进行二值化；但是，在存在背景纹理或其他背景变化的情况下，减小此值可能有助于补偿背景变化。 注意:这个设置对于训练和运行时应该是相同的；训练后更改此设置可能会导致分类问题。
字符片段对比度阈值 | 指定片段整体为了被视为能够在字符中而应达到的最小对比度 [以灰度级别表示（0 - 255；默认值 = 30）]，该值相对于归一化图像中的阈值。片段中的每个前景像素总能保证满足阈值，但如果片段中的所有像素都非常接近阈值，则该片段可能只是噪声，而不是文本。值为 0 将防止低对比度片段被拒绝。
到主线的最大片段距离 | 指定一个片段可以从水平穿过文本的“主线”中垂直移动的距离，以字符高度的百分比 （0 - 1000；默认值 = 0）表示。通常情况下，经过优化（补偿角度方向和倾斜的阶段）后，字符应位于一条水平直线上。然而，字符有时可能会出现“抖动”，使得字符位置可能会发生垂直移位。使用默认设置时，这些字符片段将被拒绝，因为它们不位于字符的“主线”上。增大此参数设置可让该函数保留不位于字符“主线”的片段。
分割分析模式 | 指定为以确定最佳字符分割而需要执行的字符分析模式的类型。该参数决定了在分组阶段之外是否要进行更多分析。
1 = 最小 | 执行基本分割分析；只在分组阶段分析之后进行。
2 = 标准（默认值） | 对整条线执行附加分析，包括字符间距，以确定最佳分割。启用后，该功能将受最小节距、字符节距类型和字符节距位置参数的影响。
最小间距 | 指定两个字符之间可以出现的最小节距，以像素为单位（0 - 1000；默认值 = 0），其中节距是根据字符节距位置参数来计算的。如果两个片段之间的节距小于此值，则必须将这些片段视为同一字符的一部分，除非组合的字符太宽（如字符最大宽度和/或字符最小纵横比参数所指定）。
字符间距位置 | 指定应如何测量两个连续字符之间的节距。根据定义，节距是相邻字符上（近似）对应点之间的距离，而不是从一个字符的结尾到下一个字符的开头的距离（称为“字符间隙”）。对于字符具有不同宽度的固定节距字体，通常只有在使用适当的节距度量时间节距才会有一致的值。 注意:如果分割分析模式参数设置为最小，该参数将被禁用。
1 = 自动（默认值） | 指定正在使用未知度量；适当节距可以是任何其他节距位置，或者不存在恒定的节距位置（例如成比例节距字体的情况），而且 OCRMax 函数将确定适当的节距度量。
2 = 左到左 | 指定所测量的节距是从一个字符的字符区域左侧到相邻字符的字符区域左侧的距离。 注意:术语“左”和“右”是相对于 ROI 定义的坐标轴，即“右”等于正 X 方向。
4 = 中心到中心 | 指定所测量的节距是从一个字符的字符区域中心到相邻字符的字符区域中心的距离。
8 = 右到右 | 指定所测量的节距是从一个字符的字符区域右侧到相邻字符的字符区域右侧的距离。 注意:术语“左”和“右”是相对于 ROI 定义的坐标轴，即“右”等于正 X 方向。
字符间距类型 | 指定连续字符之间的间距是单个固定值，还是根据特定字符而变化。根据定义，节距是相邻字符上（近似）对应点之间的距离，而不是从一个字符的结尾到下一个字符的开头的距离（称为“字符间隙”）。 注意:如果分割分析模式参数设置为最小，该参数将被禁用。
1 = 自动（默认值） | 指定节距类型未知，但节距类型应该是固定的或成比例的，而不是可变的。OCRMax 函数将确定最佳类型。
2 = 固定 | 指定节距是固定的，这意味着任何一对字符之间的节距是恒定的，例如无论字符的字符矩形的宽度如何。节距是基于字符节距位置参数来测量的。
4 = 非等宽 | 指定节距是成比例的，这意味着任何一对字符之间的节距取决于特定字符。例如，两个“i”小写字母之间的距离可能比两个“M”大写字母之间的距离小得多。 虽然在整个字符串中没有任何节距度量值是恒定的，但字符间隙（即从一个字符的字符区域的右侧到相邻字符的字符区域的左侧的距离）通常是近似恒定的。 术语“左”和“右”是相对于 ROI 定义的坐标轴，即“右”等于正 X 方向。
8 = 可变 | 指定在整个字符串中没有任何字符到字符的距离度量是一致的，例如字符位置不稳定，并且节距既不固定也不成比例。OCRMax 函数不应尝试确定节距类型。 注意:可变节距不同于自动，因为自动假设节距是固定的或成比例的，但这一点是未知的。
高级分类 | 指定调整分类过程的参数，即函数如何根据训练字符与采集图像中字符之间的差异对字符进行分类。
分类器模板大小宽度 | 指定训练字符矩形和运行时字符矩形之间可接受的 X 比例因子（5 - 50；默认值 = 10）。启用后，仅计算满足比例约束的实例。
分类器模板大小高度 | 指定训练字符矩形和运行时字符矩形之间可接受的 Y 比例因子（5 - 50；默认值 = 18）。启用后，仅计算满足比例约束的实例。
保持字符纵横比 | 指定函数在运行时对展开的图像重新采样时是否应保持纵横比。
0 = OFF（默认值） | 在运行时对展开的图像重新采样时，该函数不会保持纵横比。
1 = ON | 在运行时对展开的图像重新采样时，该函数将保持纵横比。
跳过其他字符验证 | 指定函数是否将在分类期间执行额外的字符验证。
0 = OFF | 该函数将在分类期间执行额外的字符验证；这减少了误读（即错误接受字符）可能性。
1 = ON（默认值） | 该函数不会在分类期间执行额外的字符验证。但是，此选项引入了误读的可能性。
图像预处理 | 指定要在分类之前执行的图像预处理函数。
0 = 无 | 该函数不会在分类之前执行任何图像预处理。
1 = 归一化直方图（默认值） | 该函数将根据直方图对图像进行归一化。
2 = 减去中位数 | 该函数将根据局部邻域的中值进行减法操作。
3 = 归一化直方图和减去中位数 | 该函数将在分类过程中执行归一化直方图和减去中值图像预处理。 注意:选择此选项时，在减去中值之前执行直方图归一化。
字符安排 | 字符安排用于提供有关字符串中不同位置预期有哪些字符的信息。
忽略非字段字符 | 指定是否在每个字符位置将结果限制为仅包含由字符的字符安排指定的字符。启用后，字体中的所有其他字符都将被忽略，无论它们的分类分数如何。
0 = OFF（默认值） | 该函数不会根据字符的字符安排限制结果。
1 = ON | 该功能将根据字符的字符安排来限制结果。
字符串长度 | 指定字符安排是否将以固定长度或可变长度模式运行。
0 = 变量 | 该函数将以可变长度模式运行。
1 = 固定（默认值） | 该函数将以固定长度模式运行。
最大字符串长度 | 指定最大可接受的字符串长度（0 - 100；默认值 = 25）。 注意:如果字符串长度参数设置为固定，则禁用此参数。
最小字符串长度 | 指定可接受的最小字符串长度（0 - 100；默认值 = 1）。 注意:如果字符串长度参数设置为固定，则禁用此参数。
最大第一个字段索引 | 指定要考虑的字符安排子序列，它必须从不大于此索引值（0 - 100；默认值 = 100）的位置开始。 注意:如果字符串长度参数设置为固定，则禁用此参数。
最小最后一个字段索引 | 指定要考虑的字符安排子序列，它必须在不大于此索引值（0 - 100；默认值 = 0）的位置结束。 注意:如果字符串长度参数设置为固定，则禁用此参数。

## OCRMaxSettings 输出

返回 | 包含已读取字符串的 Settings 数据结构，如果任何输入参数无效，则为 #ERR。