跳转到主要内容
此方法可从图像中移除指定色相的所有彩色对象,并将其替换为指定颜色。您还可以将仅包含提取对象的图像另存为单独的图像。
此方法仅适用于彩色图像。

语法

C++

HRESULT RemoveColorObjectsEx(
  IIntsCollection* ColorHues,
  int              BackgroundColor,
  IImage**         ColorLayer
);

C#

Image RemoveColorObjectsEx(
  IIntsCollection ColorHues,
  int            BackgroundColor
);

Visual Basic .NET

Function RemoveColorObjectsEx( _
  ColorHues As IIntsCollection, _
  BackgroundColor As Integer _
) As Image

参数

ColorHues [in] 指向 IntsCollection 对象,该对象包含必须过滤的对象在 HSL 表示中的色相集合。你可以为此参数传递 null,此时会移除所有彩色对象,只保留灰度图像。 指定色相的数字必须在 0 到 255 范围内。值 0 对应红色,43 对应黄色,85 对应绿色,171 对应蓝色,213 对应紫色。 BackgroundColor [in] 指定用于替换已移除彩色对象的颜色。如果为此参数传递 -1,则自动确定背景色。 ColorLayer [out, retval] 指向 IImage* 指针变量的指针,该变量接收输出 Image 对象的接口指针,该对象包含提取出的彩色对象。

返回值

此方法没有特定的返回值。它会返回 ABBYY FineReader Engine 函数的标准返回值

备注

此方法会对 ImageDocument 的 color 图像平面应用颜色过滤。ImageDocument 中的所有其他页面都会被删除,并在需要时重新创建。 此外,还有一种特殊的预处理模式,可在图像识别前执行同类颜色对象过滤,并在导出前自动将其恢复:IPageProcessingParams::ProhibitColorObjectsAtProcessing。请根据您的使用场景选择最合适的设置。

另请参阅

ImageDocument