首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除OCR图像处理中的背景色

删除OCR图像处理中的背景色
EN

Stack Overflow用户
提问于 2011-04-01 08:13:56
回答 6查看 15K关注 0票数 6

我正在尝试去除背景颜色,以便提高OCR对图像的准确性。示例如下所示:

我会保留后期处理后的图像中的所有字母,同时只删除浅紫色纹理背景。是否可以使用一些开源软件(如Imagemagick )将其转换为二进制图像(黑/白)来实现此目标?如果背景有不止一种颜色怎么办?解决方案会是一样的吗?

此外,如果我还想删除紫色字母(剧院名称)和行,以便只保留黑色字母,该怎么办?简单的裁剪可能不起作用,因为紫色字母也可能出现在其他地方。

我正在寻找一个解决方案在编程,而不是通过工具,如Photoshop。

EN

回答 6

Stack Overflow用户

发布于 2011-04-01 18:46:07

您可以使用GIMP (或任何其他图像编辑工具)来完成此操作。

打开图像并转换为grayscale

  • Duplicate

  • 使用大内核(10x10)将高斯模糊应用到顶部,然后将顶部和底部之间的图像差异转换为二进制图像

模糊图像:

差异图像:

二进制文件:

如果你只做一次,GIMP可能就足够好了。如果您希望多次执行此操作,则可以编写一个imagemagick脚本,或者使用Python和OpenCV之类的工具编写代码。

上述方法存在一些问题:

  • 紫色文本(世纪)丢失了,因为它与其他文本的对比度不高。您可以通过对图像的不同部分设置不同的阈值或使用局部直方图操作方法

来解决此问题

票数 7
EN

Stack Overflow用户

发布于 2011-04-04 19:52:05

下面显示了一种处理图像和 it的可能策略

最后一步是做OCR。我的OCR程序非常简单,所以我相信你会得到更好的结果。

代码是代码。

一点也不坏!

票数 6
EN

Stack Overflow用户

发布于 2011-04-01 08:49:28

你可以对图像应用模糊,这样你就可以得到几乎清晰的背景。然后将原始图像的每个像素的每个颜色分量除以背景上的像素的相应分量。你将得到白色背景上的文本。额外的后处理可以进一步提供帮助。

此方法适用于文本比背景更暗的情况(在每个颜色分量中)。否则,您可以反转颜色并应用此方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5507885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档