如何使用OpenCV+Python去除手机拍摄文本底色

技术如何使用OpenCV+Python去除手机拍摄文本底色本篇文章为大家展示了如何使用OpenCV+Python去除手机拍摄文本底色,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

本文向您展示了如何使用OpenCV Python移除手机拍摄的文本的背景颜色。内容简洁易懂,一定会让你眼前一亮。希望通过这篇文章的详细介绍,你能有所收获。

最近经常被要求用手机拍考卷,但是拍完之后和实际的黑白考卷有很大的色差。打印后背景变成灰色,让我感觉不舒服。于是我想起了很久以前,我用一个叫全能扫描王的软件的时候,发现它有去除这个文字背景色的功能,但是有时候很无聊!我只想手工写一个简单的python程序。我最后写的程序测试结果如下:

如何使用OpenCV+Python去除手机拍摄文本底色

左侧是用手机拍摄的图像,右侧是用opencv-python处理之后的结果。

思维分析

首先看一下输入的原图(小学生的作业找不到,让我给他打印一下。他想手写,我说我来处理,打印出来)。别人拍的原图:

如何使用OpenCV+Python去除手机拍摄文本底色

我发现这些图像基本上都是黑白纸或者一些带虚线的纸。我首先想到的是从输入的图像中挑出文字部分,不需要太精确,大致可以做到。因此,为了获得图像中字符的掩码,我想到了使用二值化方法。我先尝试了全局二值化OTSU和三角剖分来获取蒙版,发现效果有点骗人!下图:如何使用OpenCV+Python去除手机拍摄文本底色

最后的结果是这样的,当光线稍微不均匀的时候,这个在二进制的情况下会直接翻车!会丢失信息,所以我想到了用自适应二值化的方法,最后选择了binary=cv。自适应阈值(图像,255,cv。自适应_ thresh _高斯_ c,cv。thresh _ binary _ inv,25,15)。

该功能完成二值化,实现掩膜提取。

提取完成后,通过形态学运算实现简单的扩展操作,保证每个字的像素范围足够大,不会丢失。最终的自适应遮罩:如何使用OpenCV+Python去除手机拍摄文本底色

然后对原始图像进行AND运算得到真实的文字区域,用蒙版区域进行反相得到mask1,然后对蒙版和输入的灰度图像完成bitwise_and运算,将结果与mask1相加得到最终效果,如下图:如何使用OpenCV+Python去除手机拍摄文本底色

不会像二进制词后那样让人看到不舒服的黑色。要获得这个例子的完整源代码,请关注公众号,然后回复"文本去背景"。

下载1:leetcode开源的书

在“AI算法与图像处Li”微信官方账号后台回复:可以下载。Runtime beats是一本针对每个问题的100%开源好书,你值得拥有!

如何使用OpenCV+Python去除手机拍摄文本底色

以上内容是如何使用OpenCV Python去除手机拍摄的文字背景色。你学到什么知识或技能了吗?如果你想学习更多的技能或丰富你的知识储备,请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/65915.html

(0)

相关推荐

  • 牛客网面试题

    技术牛客网面试题 牛客网面试题目录
    一、JAVA
    二、计算机网络
    三、操作系统
    四、项目
    五、数据库
    第六部分 框架
    第七部分 设计模式
    第八部分 数据结构和算法
    第九部分 Linux
    ########

    礼包 2021年12月20日
  • Oracle Partition怎么使用

    技术Oracle Partition怎么使用本篇内容主要讲解“Oracle Partition怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle Partit

    攻略 2021年12月9日
  • see过去分词,see的过去式和过去分词

    技术see过去分词,see的过去式和过去分词see的过去式: saw see的过去分词: seen seesee过去分词,读音:英 [siː] 美 [siː] v. 看见;明白;了解;经历;设想 n. 主教教区;主角权限

    生活 2021年10月24日
  • 儒林外史王冕,儒林外史人物故事及性格

    技术儒林外史王冕,儒林外史人物故事及性格儒林外史人物故事性格儒林外史王冕:王冕
    1.王冕是历史上真实存在的人物,作者据此进行了改编。王冕在小说中具有重要的作用,在整个小说的人物塑造上,他奠定了作者理想人物的基本特点,正如

    生活 2021年10月21日
  • 实例方法在Python类中的是如何工作的

    技术实例方法在Python类中的是如何工作的这篇文章给大家介绍实例方法在Python类中的是如何工作的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在OO(面向对象)编程中,类中的方法有多种形式:实

    攻略 2021年11月12日
  • idea 远程debug

    技术idea 远程debug idea 远程debug1.pom.xml里配置jvmArguments参数 -Xdebug -Xrunjdwp:transport=dt_socket,address=5

    礼包 2021年11月26日