c# - 扫描文档中背景/前景层的分离

标签 c# c++ image-processing background bitmap

我需要为 OCR 自动删除扫描文档图像的浅色背景。

ScanTailor是一个基于 C++ GUI 的开源应用程序,可以进行背景分离等操作,但我不知道如何只运行最后一步,即实际删除背景。

理想情况下,我可以找到执行此操作的代码,并且:

  1. 将该部分移植到 C#
  2. 修改 C++ 以响应命令行执行,仅在给定图像上执行该步骤

你能帮我理解我该怎么做吗?
或者你知道其他可以做到这一点的图书馆吗? (任何语言/平台可接受)

最佳答案

您指的是 OCR 应用程序中必需的阈值处理、去 Blob 和噪声去除技术。

结果的质量很大程度上取决于许多不同的因素 -

原件的打印质量 扫描质量 图像分辨率 使用的背景颜色和图案。 噪音和其他标记。

您可以在 http://www.hi-components.com/nievolution.asp 找到 IEvolution.NET 库有用。它有许 multimap 像处理功能可供使用。

有许多可用的商业引擎。没有一个完美的函数可以解决图像处理问题。您必须调整函数和参数以匹配您的图像。 http://www.recogniform.com/thresholding.htm

Google 搜索会显示很多结果。

关于c# - 扫描文档中背景/前景层的分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4327172/

相关文章:

c# - 是否可以将 Page DataSource 绑定(bind)到通用列表?

时间:: Deserealization to DataSet

c++ - 验证功能

c++ - 在 C++ 中逐行使用来自 csv 的数据的有效方法

python - 如何确定python中图形的大多数曲率点

python - Opencv fillPoly()不适用于灰度(1 channel )图像

r - writeRaster 输出文件大小

c# - 在谷歌电子表格中添加一行

C# 使用 IMAPI2 刻录 DVD+-VR

c++ - 如何使用 Qt/C++ 在 Windows 上将 GUI 转换为路径?