跳转到主要内容
此对象对应一个已打开的图像,即”图像文档”。其属性反映了图像的各项属性。ImageDocument 对象是 Image 对象 (即”图像平面”) 集合的根节点。每个图像文档包含 4 个”图像平面”:black-and-whitegraycolorpreview,可通过相应属性访问。 该对象包含多种图像预处理方法。其中部分方法仅适用于照片,其他方法则可用于所有类型的文档。部分方法可提升识别质量,另一些方法仅改善图像的视觉呈现效果,但可能会降低识别质量——后者应仅在识别完成后使用。请仔细阅读每种方法的说明,以确认该方法是否适用于您的场景。以下是我们推荐的图像预处理方法使用顺序 (请仅使用列表中适合您场景的方法) :
  • 提升识别质量:
    1. 裁剪图像
    2. 增强局部对比度
    3. 校正方向 (使用 Transform 方法并传入所需参数)
    4. 反转或镜像图像 (使用 Transform 方法并传入所需参数)
    5. 校正倾斜
    6. 拆分跨页 (使用 FRDocument 对象的 SplitPages 方法)
    7. 消除几何畸变
    8. 去除杂点
    9. 去除噪声
    10. 去除运动模糊
    11. 抑制彩色对象
    12. 移除彩色对象
  • 改善图像外观:
    1. 均衡亮度并将背景设为白色
    2. 平滑图像纹理
    3. 对图像进行抖动处理
请注意,所有这些预处理方法均须应用于已打开的图像。部分图像修改操作可在打开图像的过程中提前执行。请参阅 PrepareImageModePagePreprocessingParams 对象的说明,以了解打开图像时预处理的相关详情。 ImageDocument 对象是一种所谓的”可连接对象”。在 FRE for Windows 中使用 Visual Basic 时,可以使用 WithEvents 声明该对象。在 C++ (所有支持的操作系统) 中,这意味着它支持 IConnectionPointContainer 接口。若要在处理过程中接收通知事件,C++ 用户应创建一个派生自 IImageDocumentEvents 接口的对象,并执行以下操作:
  • 在 Linux 和 macOS 上:通过调用 AdviseFREngineObject 全局函数,将该对象注册到 ImageDocument 对象。
  • 在 Windows 上:通过标准 COM 方式,在该对象与 ImageDocument 对象中实现的事件源之间建立连接。
在 Windows 上:ImageDocument 对象的方法通过特殊的传出接口报告页面处理进度信息。这些接口分别是 IImageDocumentEvents (适用于 C++) 和调度接口 DIImageDocumentEvents (适用于 Visual Basic) 。需要注意的是,Visual Basic 用户无需关心事件接口实现的细节,因为该开发平台提供了便捷的事件处理机制。

属性

,read-only

返回对象。

,read-only

提供对当前 ImageDocument 对象的黑白图像平面的访问。

,read-only

提供对当前 ImageDocument 对象的彩色图像平面的访问。

,read-only

提供对当前 ImageDocument 对象的灰度图像平面的访问。

, read-only

存储图像文档的 ID。

, read-only

图像文档的每个颜色平面均有其各自的颜色类型。该属性将整个图像文档的颜色类型指定为各颜色平面 (黑白、灰度、彩色) 对应值中的最大值。

, read-only

指定图像文档是仅存储在内存中,还是同时以磁盘上的文件夹形式存在。

调用SaveTo方法后,该属性的值不会发生变化。需通过调用LoadImageDoc方法重新加载图像文档。

, read-only

存储磁盘上对象内部表示所在文件夹的路径。若 IsInMemory 属性的值为 TRUE,则该属性包含空字符串。

调用SaveTo方法后,该属性的值不会发生变化。需通过调用LoadImageDoc方法重新加载图像文档。

,只读

返回对象,该对象包含当前修改状态下像素坐标的相关信息。

在图像处理过程中,当需要在两种状态之间转换坐标时,此属性非常有用。

, 只读

指定自 ImageDocument 对象加载到内存以来,或自上次调用方法以来,是否对其进行了任何修改。

, 只读

指定自打开图像以来对其执行的旋转操作。

, 只读

此属性设置为 TRUE 时,表示自打开图像以来图像颜色已被反转。

, 只读

此属性设置为 TRUE 时,表示自打开图像以来图像已沿垂直轴进行了镜像处理。

, 只读

此属性指示图像倾斜是否在打开、预处理或调用方法期间得到完全校正。

已校正的倾斜角正切值存储在 SkewAngle 属性中。

, 只读

存储为图像检测到并在打开、预处理或调用方法期间校正的倾斜角正切值。若倾斜角为负值,则图像顺时针旋转;若角度为正值,则图像逆时针旋转。图像可绕任意点旋转。纠偏后图像的尺寸始终大于原始图像的尺寸。

对图像执行进一步修改时,此属性值将重置为 0。如需保留已校正的倾斜角值,请在调用任何其他图像编辑方法之前将其保存。

, 只读

指示 ImageDocument 对象是否由包含文本的文件创建。例如,PDF 文件可以包含文本层。

, 只读

指示 ImageDocument 对象是否由照片文件创建。

, 只读

提供当前 ImageDocument 对象源图像文件的格式信息。如果该信息不可用,或者图像是从扫描仪获取的,则此属性的值为 IFF_UnknownFormat。

, 只读

提供用于获取图像的扫描仪信息。如果源图像参数信息不可用,或者图像是从文件获取的,则此属性的值为 空字符串。

, 只读

提供当前 ImageDocument 对象的扫描强度阈值信息。如果源图像参数信息不可用,或者图像是从文件获取的,则此属性的值为 -1。

, 只读

提供当前 ImageDocument 对象源图像的水平分辨率信息。如果源图像参数信息不可用,则此属性的值为 0。

, 只读

提供当前 ImageDocument 对象源图像的垂直分辨率信息。如果源图像参数信息不可用,则此属性的值为 0。

方法

名称Description
ApplySigmaFilter此方法对图像应用降噪滤镜,主要适用于照片。
ChangeResolution更改图像分辨率。
CorrectShadowsAndHighlights校正图像中过强的阴影和高光。
CorrectSkew校正图像的倾斜。
CropImage检测图像中文档的边缘,然后裁剪图像。
DitherImage使用 Floyd–Steinberg 或 Bayer (有序) 抖动算法对图像进行抖动。
EnhanceLocalContrast增强图像的局部对比度。
EqualizeBrightness均衡图像亮度。此方法仅适用于灰度图像和彩色图像。
FindBlackSquares查找图像中的黑色方块。
GetPreviewImage可访问当前 ImageDocument 对象的 94 * 60 预览 图像平面。如果尚未创建此尺寸的预览,则会在此次调用期间创建,这需要一些时间。
GetPreviewImageSpecificSize提供对当前 ImageDocument 对象的预览图像平面的访问,并允许您指定其尺寸。如果此尺寸的预览尚未创建,则会在此次调用期间创建,这可能需要一些时间。
GetTextBackgroundColor检测图像中指定 Rectangle 区域内文本和背景的颜色。
Modify允许您修改图像。与 Transform 方法相比,此方法提供更高级的修改功能。
RemoveColorObjects从整幅图像或其部分区域中移除指定的彩色对象。此方法仅适用于彩色图像。
RemoveColorObjectsEx从图像中移除具有指定色相的所有彩色对象,并用指定颜色替换它们。移除的对象可保存到单独的图像中。
RemoveGarbage从图像中删除杂点 (即小于特定尺寸的多余点) 。
RemoveGeometricalDistortions消除图像的几何变形 (例如页面边缘附近的线条弯曲) 。
RemoveMotionBlur消除图像中的运动模糊。
RemoveNoise减少图像中的噪声。
SaveImageRegionTo将图像的各个区域保存到磁盘上的文件夹中。保存的图像采用 ABBYY FineReader Engine 内部格式。
SaveModified将当前 ImageDocument 对象的所有修改保存到磁盘上的文件夹中。
SaveTo将 ImageDocument 对象的内容保存到磁盘上的文件夹。图像以 ABBYY FineReader Engine 内部格式保存。
SaveToFile将 ImageDocument 对象的内容保存到文件。
SaveToMemory <Note> 仅适用于 Windows。 </Note>将 ImageDocument 对象的内容保存到全局内存。
SmoothImage可对图像进行平滑处理。此方法仅适用于灰度图像和彩色图像。
SmoothTexture使用非线性滤波器平滑图像。适用于纹理较多的图像。此方法仅可用于各维度均不小于 3 像素的灰度图像和彩色图像。
Transform对图像应用一组有限的转换操作。
ImageDocument 对象图

输出参数

此对象是 Engine 对象以下方法的输出参数:LoadImageDocFromFileLoadImageDocFromMemory (仅限 Windows) 、LoadImageDocOpenBitmapOpenDibOpenBitmapBitsOpenImageFileFromMemory

输入参数

此对象作为输入参数传递给以下方法:

示例

该对象用于以下代码示例: Linux:CommandLineInterfaceBCR macOS:名片识别 Windows:CommandLineInterface;以及演示工具:Engine Predefined Processing Profiles

另请参阅

IImageDocumentEvents 处理图像 Working with Connectable Objects 处理属性