去污文件 - OCR

Posted

技术标签:

【中文标题】去污文件 - OCR【英文标题】:Despeckling documents - OCR 【发布时间】:2016-02-11 14:12:15 【问题描述】:

我已经搜索过,但找不到在扫描文档中进行去斑的算法。我已经使用中值过滤器去除了一些较小的斑点。

我需要一种从文档中去除大斑点的算法,我曾尝试使用连接组件标签(使用 Aforge),但如果对象大于 X 像素,则无法将其着色为白色(将其去除)。

有什么方法可以删除图片上大于 X 像素的对象(斑点、斑点、噪点)?

编辑:

这是我正在尝试为 OCR 准备的文档。 Original Document

我们可以看到,文本左侧有很多噪音。然后我使用 Blur 来模糊左侧的噪点,然后我对文档进行二值化,得到类似 After Binarization

现在我需要从左侧删除大的黑色区域。我只是不知道该怎么做...

【问题讨论】:

你试过使用tesseract吗? 能否请您张贴图片或图片链接?对于图像处理问题,假设您应该始终发布示例图像。即使您在文档中看到许多不同类型的斑点/噪点,拥有一些示例图像也会帮助那些试图给您建议的人。消除斑点/斑点的方法有很多,但会根据您通常看到的噪声类型选择不同的技术。 感谢您的回答。我已经编辑了问题并添加了更多信息和图像。我没有尝试过使用tesseract,我正在尝试自己实现所有算法... 是否可以选择裁剪图像?即找到黑色区域并裁剪到它的内边缘 【参考方案1】:

在 Matlab 中尝试一下。

img = imread('xWFEC.png');
img = imcomplement(imclearborder(imcomplement(img)));
figure; imshow(img);

输出:

【讨论】:

想补充说明这是如何工作的,特别是因为这是一个C# 问题,据我所知,这些功能或类似功能在标准C# 中不可用,所以会需要用户自己实现。 @TheLethalCoder,再次感谢。据我所知,我们可以在 C# 中使用“EmguCV”(emgu.com/wiki/index.php/Main_Page)。这个 SO 答案 (***.com/questions/24731810/…) 清楚地解释了如何使用 OpenCV 实现 Matlab 'imclearborder'。

以上是关于去污文件 - OCR的主要内容,如果未能解决你的问题,请参考以下文章

2017年浙江工业大学之江学院程序设计竞赛决赛 I: qwb VS 去污棒(可持久化Trie+离线)

教你彻底卸载Ubuntu双系统,去污不残留!

如何识别需要 OCR 的 PDF 文件?

批处理子文件夹中的 OCR 文件并使用新名称保存新文件

最新OCR文字识别软件提高OCR性能的方法

Oracle voting文件的管理