CN113159035B - 图像处理方法、装置、设备及存储介质 - Google Patents

图像处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113159035B
CN113159035B CN202110502802.2A CN202110502802A CN113159035B CN 113159035 B CN113159035 B CN 113159035B CN 202110502802 A CN202110502802 A CN 202110502802A CN 113159035 B CN113159035 B CN 113159035B
Authority
CN
China
Prior art keywords
image
text
original image
dividing
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110502802.2A
Other languages
English (en)
Other versions
CN113159035A (zh
Inventor
薛志毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Century TAL Education Technology Co Ltd
Original Assignee
Beijing Century TAL Education Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Century TAL Education Technology Co Ltd filed Critical Beijing Century TAL Education Technology Co Ltd
Priority to CN202110502802.2A priority Critical patent/CN113159035B/zh
Publication of CN113159035A publication Critical patent/CN113159035A/zh
Application granted granted Critical
Publication of CN113159035B publication Critical patent/CN113159035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本申请提出一种图像处理方法、装置、设备及存储介质,通过获取包括文本信息的原始图像,并对原始图像进行图像处理后得到带涂改的图像数据,保证神经网络模型在训练阶段可以有足够多的样本数据。另外,通过将该原始图像中的文本信息划分为一个或多个文本区域,并从一个或多个文本区域中选择目标文本区域。在该目标文本区域中确定涂改范围,并根据该涂改范围确定涂改掩膜,以及将该原始图像和该涂改掩膜进行图像合成,得到带涂改的图像数据,使得经过图像处理后得到的带涂改的图像数据尽可能的接近真实的涂改效果,保证神经网络模型在训练阶段可以有足够多的近似真实的带涂改的图像数据,从而为提高训练出的神经网络模型的识别准确度奠定了基础。

Description

图像处理方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种图像处理方法、装置、设备及存储介质。
背景技术
随着计算机技术的不断发展,部署有神经网络模型的设备,例如终端、服务器等设备可以对用户手写的内容进行识别。但是,在真实的手写场景中,用户可能会对已经手写的内容进行涂改,也就是说,手写内容可能会出现涂改的现象,从而给神经网络模型的识别带来一定的困难。
通常情况下,在利用神经网络模型对手写内容进行识别之前,需要采用样本数据对神经网络模型进行训练。因此,为了使神经网络模型能够识别带涂改的手写内容,样本数据可以包括带涂改的数据。
但是,现有技术中带涂改的数据较少,尤其是近似真实的带涂改的数据较少,使得神经网络模型在训练阶段缺乏足够多的样本数据。从而导致训练出的神经网络模型的识别准确度较低。
发明内容
本申请实施例提供一种图像处理方法、装置、设备及存储介质,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供了一种图像处理方法,包括:
获取原始图像,该原始图像包括文本信息;
将该原始图像中的文本信息划分为一个或多个文本区域;
从该一个或多个文本区域中选择目标文本区域;
在该目标文本区域中确定涂改范围,并根据该涂改范围确定涂改掩膜;
将该原始图像和该涂改掩膜进行图像合成,得到带涂改的图像数据。
在一种实施方式中,将该原始图像中的文本信息划分为一个或多个文本区域之前,该方法还包括:
将该原始图像进行灰度处理,得到该原始图像对应的灰度图像;
对该原始图像对应的灰度图像进行图像增强,得到该原始图像对应的图像增强后的图像;
将该原始图像中的文本信息划分为一个或多个文本区域,包括:
将该原始图像对应的图像增强后的图像中的文本信息划分为一个或多个文本区域。
在一种实施方式中,将该原始图像中的文本信息划分为一个或多个文本区域,包括:
将该原始图像划分为多个图像区域;
通过对该多个图像区域中的每个图像区域进行水平方向和垂直方向的投影,将该原始图像中的文本信息划分为一个或多个文本区域。
在一种实施方式中,该原始图像包括单行文本信息;
将该原始图像划分为多个图像区域,包括:
根据该单行文本信息中单词或字的个数,将该原始图像划分为多个图像区域,该多个图像区域的个数大于或等于该单行文本信息中单词或字的个数。
在一种实施方式中,该原始图像包括多行文本信息;
将该原始图像划分为多个图像区域,包括:
对该原始图像进行分割,得到多个子图像,该多个子图像中的每个子图像包括该多行文本信息中的一行文本信息;
根据该每个子图像中单词或字的个数,将该每个子图像分别划分为多个图像区域,该每个子图像对应的多个图像区域的个数大于或等于该子图像中单词或字的个数。
在一种实施方式中,通过对该多个图像区域中的每个图像区域进行水平方向和垂直方向的投影,将该原始图像中的文本信息划分为一个或多个文本区域,包括:
对该多个图像区域中的每个图像区域进行二值化处理,得到该每个图像区域分别对应的黑白图像;
针对该每个图像区域分别对应的黑白图像进行逐列扫描,统计该每个图像区域分别对应的黑白图像中每一列的黑像素点的个数;
根据该每一列的黑像素点的个数是否大于预设阈值,对该每一列进行标记,得到该每一列的标记信息;
根据该每一列的标记信息,将该原始图像中的文本信息划分为一个或多个文本区域。
在一种实施方式中,将该原始图像中的文本信息划分为一个或多个文本区域,包括:
针对该原始图像对应的黑白图像进行逐列扫描,统计该黑白图像中每一列的黑像素点的个数;
根据该每一列的黑像素点的个数是否大于预设阈值,对该每一列进行标记,得到该每一列的标记信息;
根据该每一列的标记信息,将该原始图像中的文本信息划分为一个或多个文本区域。
在一种实施方式中,根据该每一列的标记信息,将该原始图像中的文本信息划分为一个或多个文本区域,包括:
根据该每一列的标记信息,将标记信息相同的连续的一列或多列划分为一个文本区域。
在一种实施方式中,根据该每一列的标记信息,将标记信息相同的连续的一列或多列划分为一个文本区域,包括:
对该每一列的标记信息进行平滑处理,得到平滑处理后的该每一列的标记信息;
将标记信息相同的连续的一列或多列划分为一个文本区域。
在一种实施方式中,在该目标文本区域中确定涂改范围,并根据该涂改范围确定涂改掩膜,包括:
确定该目标文本区域中的涂改范围;
在该涂改范围内生成一条或多条涂改曲线,得到该涂改掩膜。
在一种实施方式中,将该原始图像和该涂改掩膜进行图像合成,得到带涂改的图像数据,包括:
根据该涂改掩膜的中心点,确定该原始图像中的待涂改区域,该待涂改区域的中心点位置与该涂改掩膜的中心点位置相同,该待涂改区域的大小与该涂改掩膜的大小相同;
将该原始图像中的待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据。
在一种实施方式中,将该原始图像中的待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据,包括:
将该原始图像中的该待涂改区域替换为该涂改掩膜,得到该带涂改的图像数据。
在一种实施方式中,将该原始图像中的待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据,包括:
将该涂改掩膜中的一条或多条涂改曲线融合到该原始图像中的该待涂改区域中,得到该带涂改的图像数据。
在一种实施方式中,将该原始图像中的待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据,包括:
复制该原始图像中的该待涂改区域,得到该待涂改区域的副本;
将该待涂改区域的副本平移到相对于该原始图像的预设位置,得到平移后的图像数据,该平移后的图像数据包括该原始图像和该待涂改区域的副本;
将该平移后的图像数据中的该待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据。
在一种实施方式中,将该平移后的图像数据中的该待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据之后,该方法还包括:
计算该原始图像的灰度直方图;
将该灰度直方图中灰度值统计量最多的灰度作为背景色;
将该背景色填充到该带涂改的图像数据中的留白区域。
第二方面,本申请实施例提供了一种图像处理装置,该装置包括:
获取模块,用于获取原始图像,该原始图像包括文本信息;
划分模块,用于将该原始图像中的文本信息划分为一个或多个文本区域;
选择模块,用于从该一个或多个文本区域中选择目标文本区域;
确定模块,用于在该目标文本区域中确定涂改范围,并根据该涂改范围确定涂改掩膜;
图像合成模块,用于将该原始图像和该涂改掩膜进行图像合成,得到带涂改的图像数据。
在一种实施方式中,该装置还包括图像处理模块,用于在划分模块将该原始图像中的文本信息划分为一个或多个文本区域之前,将该原始图像进行灰度处理,得到该原始图像对应的灰度图像;对该原始图像对应的灰度图像进行图像增强,得到该原始图像对应的图像增强后的图像;该划分模块具体用于将该原始图像对应的图像增强后的图像中的文本信息划分为一个或多个文本区域。
在一种实施方式中,划分模块具体用于:将该原始图像划分为多个图像区域;通过对该多个图像区域中的每个图像区域进行水平方向和垂直方向的投影,将该原始图像中的文本信息划分为一个或多个文本区域。
在一种实施方式中,该原始图像包括单行文本信息;划分模块具体用于:根据该单行文本信息中单词或字的个数,将该原始图像划分为多个图像区域,该多个图像区域的个数大于或等于该单行文本信息中单词或字的个数。
在一种实施方式中,该原始图像包括多行文本信息;划分模块具体用于:对该原始图像进行分割,得到多个子图像,该多个子图像中的每个子图像包括该多行文本信息中的一行文本信息;根据该每个子图像中单词或字的个数,将该每个子图像分别划分为多个图像区域,该每个子图像对应的多个图像区域的个数大于或等于该子图像中单词或字的个数。
在一种实施方式中,划分模块包括:二值化处理单元、统计单元、标记单元和划分单元;其中,二值化处理单元用于对该多个图像区域中的每个图像区域进行二值化处理,得到该每个图像区域分别对应的黑白图像;统计单元用于针对该每个图像区域分别对应的黑白图像进行逐列扫描,统计该每个图像区域分别对应的黑白图像中每一列的黑像素点的个数;标记单元用于根据该每一列的黑像素点的个数是否大于预设阈值,对该每一列进行标记,得到该每一列的标记信息;划分单元用于根据该每一列的标记信息,将该原始图像中的文本信息划分为一个或多个文本区域。
在一种实施方式中,划分模块包括:统计单元、标记单元和划分单元;其中,统计单元用于针对该原始图像对应的黑白图像进行逐列扫描,统计该黑白图像中每一列的黑像素点的个数;标记单元用于根据该每一列的黑像素点的个数是否大于预设阈值,对该每一列进行标记,得到该每一列的标记信息;划分单元用于根据该每一列的标记信息,将该原始图像中的文本信息划分为一个或多个文本区域。
在一种实施方式中,划分单元具体用于:根据该每一列的标记信息,将标记信息相同的连续的一列或多列划分为一个文本区域。
在一种实施方式中,划分模块还包括平滑处理单元,用于对该每一列的标记信息进行平滑处理,得到平滑处理后的该每一列的标记信息;划分单元具体用于将标记信息相同的连续的一列或多列划分为一个文本区域。
在一种实施方式中,确定模块具体用于:确定该目标文本区域中的涂改范围;在该涂改范围内生成一条或多条涂改曲线,得到该涂改掩膜。
在一种实施方式中,图像合成模块具体用于:根据该涂改掩膜的中心点,确定该原始图像中的待涂改区域,该待涂改区域的中心点位置与该涂改掩膜的中心点位置相同,该待涂改区域的大小与该涂改掩膜的大小相同;将该原始图像中的待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据。
在一种实施方式中,图像合成模块具体用于:将该原始图像中的该待涂改区域替换为该涂改掩膜,得到该带涂改的图像数据。
在一种实施方式中,图像合成模块具体用于:将该涂改掩膜中的一条或多条涂改曲线融合到该原始图像中的该待涂改区域中,得到该带涂改的图像数据。
在一种实施方式中,图像合成模块包括:复制单元、平移单元、合成单元;其中,复制单元用于复制该原始图像中的该待涂改区域,得到该待涂改区域的副本;平移单元用于将该待涂改区域的副本平移到相对于该原始图像的预设位置,得到平移后的图像数据,该平移后的图像数据包括该原始图像和该待涂改区域的副本;合成单元用于将该平移后的图像数据中的该待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据。
在一种实施方式中,该装置还包括:计算模块和填充模块;其中,计算模块用于在图像合成模块将该平移后的图像数据中的该待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据之后,计算该原始图像的灰度直方图;填充模块用于将该灰度直方图中灰度值统计量最多的灰度作为背景色;将该背景色填充到该带涂改的图像数据中的留白区域。
第三方面,本申请实施例提供了一种图像处理设备,该设备包括:存储器和处理器。其中,该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述各方面任一种实施方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机程序,当计算机程序在计算机上运行时,上述各方面任一种实施方式中的方法被执行。
上述技术方案中的优点或有益效果至少包括:通过获取包括文本信息的原始图像,并对原始图像进行图像处理后得到带涂改的图像数据,由于原始图像较为容易获得,因此,在原始图像数量足够多的情况下,可以生成足够多的带涂改的图像数据,从而保证了神经网络模型在训练阶段可以有足够多的样本数据。另外,通过将该原始图像中的文本信息划分为一个或多个文本区域,并从该一个或多个文本区域中选择目标文本区域。进一步,在该目标文本区域中确定涂改范围,并根据该涂改范围确定涂改掩膜,以及将该原始图像和该涂改掩膜进行图像合成,得到带涂改的图像数据,使得经过图像处理后得到的带涂改的图像数据尽可能的接近真实的涂改效果,保证神经网络模型在训练阶段可以有足够多的近似真实的带涂改的图像数据,从而为提高训练出的神经网络模型的识别准确度奠定了基础。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请一实施例的图像处理方法的流程图;
图2为本申请一实施例的应用场景的示意图;
图3为本申请一实施例的原始图像的示意图;
图4为本申请另一实施例的文本区域的示意图;
图5为本申请另一实施例的带涂改的图像数据的示意图;
图6为本申请另一实施例的图像处理方法的流程图;
图7为本申请另一实施例的图像处理方法的流程图;
图8为本申请一实施例的图像区域的示意图;
图9为本申请另一实施例的图像处理方法的流程图;
图10为本申请另一实施例的图像处理方法的流程图;
图11为本申请另一实施例的图像处理方法的流程图;
图12为本申请一实施例的均值迁移的示意图;
图13为本申请一实施例的涂改掩膜的示意图;
图14为本申请另一实施例的涂改掩膜的示意图;
图15为本申请另一实施例的图像处理方法的流程图;
图16为本申请一实施例的图像处理过程中原始图像变化的示意图;
图17为本申请另一实施例的图像处理方法的流程图;
图18为本申请另一实施例的图像处理过程中原始图像变化的示意图;
图19为本申请另一实施例的图像处理过程中原始图像变化的示意图;
图20为本申请一实施例的图像处理装置的结构框图;
图21为本申请一实施例的图像处理设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
通常情况下,在利用神经网络模型对手写内容进行识别之前,需要采用样本数据对神经网络模型进行训练。本实施例并不限定神经网络模型的具体类型,例如,可以是卷积神经网络(Convolutional Neural Networks,CNN)模型。目前的样本数据可以是开源数据,例如,开源的文本识别数据集,开源的文本识别数据集通常比较容易获得。目前已有的开源数据包括自然环境下合成文本图像数据集(Synth Text in the Wild dataset)、中文识别数据集(Synthetic Chinese String Dataset)、场景文本识别数据集(COCO-TEXT)、中文自然文本数据集(Chinese Text in the Wild,CTW)等。这些开源数据通过采集设备进行采集,该采集设备例如可以是拍摄设备。另外,这些开源数据可以按照图片或图像数据的方式进行存储。但是,目前已有的开源数据多为单个单词或者复杂背景的样本,这样的数据很难训练针对长序列识别的CNN模型。
在真实的手写场景中,用户可能会对已经手写的内容进行涂改,也就是说,手写内容可能会出现涂改的现象。因此,为了使神经网络模型能够识别带涂改的手写内容,样本数据可以包括带涂改的数据。但是,现有的带涂改的数据通常是在已有的开源数据的基础上通过字体、大小、灰度、模糊、透视、拉伸等变化随机生成的。但是,随机生成的图片与实际拍摄的图片之间存在较大的差异,而且随机生成的带涂改的数据与真实的涂改数据之间的风格迥异,导致神经网络模型在训练阶段缺乏足够多的近似真实的带涂改的数据。从而导致训练出的神经网络模型的识别准确度较低。为了解决该问题,本申请实施例提供了一种图像处理方法,通过该图像处理方法可以生成近似真实的带涂改的图像数据,该带涂改的图像数据可以作为训练样本对神经网络模型,例如CNN模型进行模型训练。
下面结合具体的实施例对本申请实施例提供的一种图像处理方法进行详细介绍。
图1示出根据本申请一实施例的图像处理方法的流程图。如图1所示,该方法可以包括:
S101、获取原始图像,该原始图像包括文本信息。
本实施例所述的图像处理方法可以适用于如图2所示的应用场景,该应用场景中包括终端21和服务器22。其中,终端21具体包括但不限于智能手机、掌上电脑、平板电脑、带显示屏的可穿戴设备、台式机、笔记本电脑、一体机、智能家居设备等。服务器22具体可以是云端服务器。
在一种可行的实现方式中,服务器22本地或与服务器22关联的数据库中可存储有如上所述的开源数据。具体的,与服务器22关联的数据库可以集成在服务器22中。或者服务器22与数据库相互独立,并且服务器22与数据库可以进行通信交互。另外,终端21可以执行本实施例所述的图像处理方法。具体的,终端21可以向服务器22发送图像获取请求。服务器22在接收到该图像获取请求的情况下,从本地或数据库中存储的开源数据中获取图像数据。本实施例可以将开源数据中的图像数据记为原始图像。进一步,服务器22可以将原始图像发送给终端21。终端21在接收到该原始图像的情况下,对该原始图像进行图像处理,从而生成近似真实的带涂改的图像数据。
在另一种可行的实现方式中,服务器22可以执行本实施例所述的图像处理方法。具体的,服务器22可以从本地或数据库中存储的开源数据中获取原始图像,并对该原始图像进行图像处理,从而生成近似真实的带涂改的图像数据。
在又一种可行的实现方式中,原始图像不限于如上所述的来自于开源数据中的图像数据。例如,终端21可以包括拍摄设备,例如摄像头。或者终端21可以与外接的拍摄设备通信连接。该原始图像是终端21通过拍摄设备采集到的手写文本图像。进一步,终端21可以对该原始图像进行图像处理,从而生成近似真实的带涂改的图像数据。或者,终端21可以将该原始图像发送给服务器22,由服务器22对该原始图像进行图像处理,从而生成近似真实的带涂改的图像数据。
可以理解的是,如上所述的几种可行的实现方式只是示意性说明,并不做具体限定。下面以服务器22执行本实施例所述的图像处理方法为例进行示意性说明。具体的,服务器22可以获取原始图像,如上所述,该原始图像可以是来自于开源数据中的图像数据,也可以是通过拍摄设备采集的图像数据。另外,该原始图像中可以包括文本信息,该文本信息可以是手写的文本信息。如图3所示为原始图像30的示意图。
S102、将该原始图像中的文本信息划分为一个或多个文本区域。
进一步,服务器22可以将该原始图像30中的文本信息划分为一个或多个文本区域。如图4所示为将如图3所示的原始图像30中的文本信息划分为一个或多个文本区域后的示意图。例如,如图3所示的原始图像30中的文本信息包括多个单词,每个单词可以被划分到一个文本区域中。另外,标点符号例如逗号可以与其最近的单词一起划分到文本区域中,或者标点符号可以被单独划分到文本区域中。如图4所示,对原始图像30中的文本信息划分完成后可以得到多个文本区域,具体的,文本区域可以是如图4所示的黑色框中的区域。41表示多个文本区域中随机的一个文本区域。可以理解的是,如图3或图4所示的文本信息只是一种示意性说明,并不做具体限定。例如,在一些实施例中,原始图像中的文本信息可能包括一个单词或一个字,在这种情况下,对原始图像中的文本信息划分完成后可能会得到一个文本区域。
S103、从该一个或多个文本区域中选择目标文本区域。
例如以图4为例,在得到多个文本区域的情况下,服务器22可以进一步从该多个文本区域中选择目标文本区域。该目标文本区域可以是一个或多个。下面以一个目标文本区域为例进行示意性说明。例如,服务器22可以选择文本区域41作为目标文本区域。可以理解的是,在多个目标文本区域的情况下,服务器22对该多个目标文本区域中每个目标文本区域的处理过程可类似于服务器22对文本区域41的处理过程,此处不再赘述。
S104、在该目标文本区域中确定涂改范围,并根据该涂改范围确定涂改掩膜。
由于在实际涂改的场景中,用户可能只是想涂改文本信息本身,可能并不想涂改文本信息周围的空白区域。因此,在选择出目标文本区域例如文本区域41的情况下,服务器22还可以在该文本区域41中确定出涂改范围,例如,该涂改范围可以是“China,”。进一步,服务器22还可以根据该涂改范围确定涂改掩膜。其中,涂改掩膜中可以包括涂改曲线。
S105、将该原始图像和该涂改掩膜进行图像合成,得到带涂改的图像数据。
进一步,服务器22可以将如图3所示的原始图像30和上述步骤得到的涂改掩膜进行图像合成,从而得到带涂改的图像数据。如图5所示为带涂改的图像数据的示意图。
本申请实施例通过获取包括文本信息的原始图像,并对原始图像进行图像处理后得到带涂改的图像数据,由于原始图像较为容易获得,因此,在原始图像数量足够多的情况下,可以生成足够多的带涂改的图像数据,从而保证了神经网络模型在训练阶段可以有足够多的样本数据。另外,通过将该原始图像中的文本信息划分为一个或多个文本区域,并从该一个或多个文本区域中选择目标文本区域。进一步,在该目标文本区域中确定涂改范围,并根据该涂改范围确定涂改掩膜,以及将该原始图像和该涂改掩膜进行图像合成,得到带涂改的图像数据,使得经过图像处理后得到的带涂改的图像数据尽可能的接近真实的涂改效果,保证神经网络模型在训练阶段可以有足够多的近似真实的带涂改的图像数据,从而为提高训练出的神经网络模型的识别准确度奠定了基础。
图6示出根据本申请另一实施例的图像处理方法的流程图。如图6所示,该方法可以包括:
S601、输入手写文本图像。
例如,该手写文本图像可以是如上所述的原始图像30。在服务器22执行本实施例所述的图像处理方法的情况下,服务器22可以将该手写文本图像输入到该服务器22中的图像处理装置中,该图像处理装置进一步执行本实施例所述的图像处理方法。
S602、图像增强。
例如,原始图像30可能是通过拍摄设备采集的图像。目前常用的较为便捷的图像采集方法是使用移动设备的摄像头进行拍照或者使用扫描仪扫描获得。由于摄像头或扫描仪采集的图像可能会受到噪声、光照强度、摄像头或扫描仪的设备因素、以及人为等因素的影响。因此,摄像头或扫描仪采集的图像相比于真实的被采集对象可能会存在一些差异,例如,可能会出现图像过亮、图像过暗、图像模糊等图像失真问题。这种图像失真问题可能会对后续的图像处理过程造成不利的影响,例如,可能会加大文本区域的定位与分割的难度。因此,为了突出图像中线条的清晰度、以及确保区域清楚,可以将原始图像30转换为灰度图像。在原始图像30经过灰度处理之后,进一步进行图像增强。其中,图像增强的方法可以有多种,此处以其中的一种例如空间滤波的方式进行图像增强。具体的,空间滤波作为图像增强的一种,其理论基础为空间卷积和空间相关,目的为改善图像质量。具体的,经过空间滤波处理之后,可以得到滤波后的图像。空间滤波的方式可以有效地保留图像中文本信息的主体轮廓以及特定的拓扑结构特征,从而尽可能的在保留图像细节特征的条件下对噪声进行抑制。
S603、文本区域定位、分割。
具体的,文本区域定位、分割具体可以对应于上述步骤S102的内容,此处不再赘述。另外,在下述实施例中将会对文本区域定位、分割的过程进行详细的介绍。
S604、文本区域筛选。
例如,在将原始图像30中的文本信息划分为多个文本区域的情况下,还可以进一步从该多个文本区域中筛选出满足一定预设条件的文本区域。
S605、涂改掩膜生成。
例如,可以在满足一定预设条件的文本区域中选择出目标文本区域,并在该目标文本区域中确定涂改范围,以及根据该涂改范围确定涂改掩膜。
S606、将该原始图像和该涂改掩膜进行图像合成。
具体的,将该原始图像30和该涂改掩膜进行图像合成具体可以对应于上述步骤S105的内容,此处不再赘述。另外,在下述实施例中将对该原始图像30和该涂改掩膜的图像合成过程进行详细的介绍。
S607、图像补背景、归一化。
具体的,在将该原始图像30和该涂改掩膜进行图像合成之后,还可以进一步进行图像补背景和/或归一化的处理,从而得到更加接近真实的涂改效果。下述实施例将会对图像补背景、归一化的处理过程进行详细的介绍。
本申请实施例通过输入手写文本图像之后,对手写文本图像进行图像增强,从而可以有效地保留图像中文本信息的主体轮廓以及特定的拓扑结构特征,尽可能的在保留图像细节特征的条件下对噪声进行抑制,降低了对后续的图像处理过程造成不利的影响,从而可以提高文本区域的定位与分割的精准度,有利于生成近似真实的带涂改的图像数据,从而可以弥补神经网络模型在训练阶段中近似真实的带涂改的图像数据不足的问题。
在上述实施例的基础上,将该原始图像中的文本信息划分为一个或多个文本区域之前,该方法还包括:将该原始图像进行灰度处理,得到该原始图像对应的灰度图像;对该原始图像对应的灰度图像进行图像增强,得到该原始图像对应的图像增强后的图像;将该原始图像中的文本信息划分为一个或多个文本区域,包括:将该原始图像对应的图像增强后的图像中的文本信息划分为一个或多个文本区域。
例如,在服务器22获取到原始图像30的情况下,服务器22可以先对该原始图像30进行灰度处理,得到该原始图像30对应的灰度图像。
进一步,服务器22可以对该原始图像30对应的灰度图像进行图像增强,该图像增强具体可以是如上所述的空间滤波,此处不再赘述。可以理解的是,经过图像增强后可以得到该原始图像30对应的图像增强后的图像。进一步,服务器22可以将该原始图像30对应的图像增强后的图像中的文本信息划分为一个或多个文本区域。
在一些实施例中,还可以对该图像增强后的图像进行二值化处理,得到该原始图像对应的黑白图像。
例如,服务器22可以对该图像增强后的图像进行二值化处理,得到该原始图像30对应的黑白图像即二值化图像。具体的,在该图像增强具体可以为空间滤波的情况下,将空间滤波后的图像进行二值化处理得到的二值化图像中包括黑白两种颜色,例如黑色像素点和白色像素点。其中,黑色像素点可以简称为黑像素点。白色像素点可以简称为白像素点。通常情况下,白像素点的像素灰度值为255,黑像素点的像素灰度值为0。在本实施例中,可以对二值化图像中的白像素点和黑像素点分别进行标记(value),例如,可以将黑像素点标记为1,将白像素点标记为0。也就是说,黑像素点的value值记为1,白像素点的value值记为0。其中,value是一个标记,用于指示像素点是黑像素点,还是白像素点。
例如,将二值化图像的宽度记为
Figure DEST_PATH_IMAGE001
,将二值化图像的高度记为
Figure DEST_PATH_IMAGE002
。将二值化图像中任意像素点的位置记为
Figure DEST_PATH_IMAGE003
,位置
Figure 226025DEST_PATH_IMAGE003
上的像素点的像素灰度值记为
Figure DEST_PATH_IMAGE004
,位置
Figure 2220DEST_PATH_IMAGE003
上的像素点的value值记为
Figure DEST_PATH_IMAGE005
Figure 470372DEST_PATH_IMAGE005
Figure 847058DEST_PATH_IMAGE004
之间的对应关系可以表示为如下公式(1):
Figure DEST_PATH_IMAGE006
(1)
在一些实施例中,对该图像增强后的图像进行二值化处理得到该原始图像30对应的黑白图像即二值化图像之后,进一步,还可以在该二值化图像的基础上进行图像的腐蚀操作,从而可以去掉字体边缘的点,使得字体图像中足够小的干扰图像,用于保留主体图像。
本申请实施例通过对原始图像进行灰度处理,得到该原始图像对应的灰度图像,进一步,对该原始图像对应的灰度图像进行图像增强,得到图像增强后的图像。从而可以有效地保留原始图像中文本信息的主体轮廓以及特定的拓扑结构特征,尽可能的在保留原始图像细节特征的条件下对噪声进行抑制,降低了对后续的图像处理过程造成不利的影响,从而可以提高文本区域的定位与分割的精准度,有利于生成近似真实的带涂改的图像数据。
在上述实施例的基础上,将该原始图像中的文本信息划分为一个或多个文本区域可以包括多种不同的实现方式。在一种可行的实现方式中,将该原始图像中的文本信息划分为一个或多个文本区域,包括如图7所示的如下几个步骤:
S701、将该原始图像划分为多个图像区域。
例如,在对原始图像30进行采集的过程中,由于拍照的时候纸张不平或者拍照角度不正确,导致原始图像30中的文本行可能会产生一定的弧度,例如,文本行与原始图像30的水平方向或竖直方向之间有夹角。在采用投影法确定文本区域的情况下,标准的投影法从全局出发,将整个原始图像30进行水平和竖直投影,并通过投影轮廓图进行文本区域的划分。但是,在原始图像30即采集到的文本图像中含有弧度信息的情况下,投影所产生的轮廓图的特征可能不明显,从而为分割带来一定的困难。针对这种问题,本实施例采用分列投影的方式,将原始图像30划分为多个图像区域。由于考虑到文本展示形式通常是以行的形式展示,即手写文本是从左往右写,所以采用分列投影的方式。在其他实施例中,如果文本是竖直文本,即手写文本是从上往下写,则可以采用分行投影的方式。
可选的,该原始图像包括单行文本信息;将该原始图像划分为多个图像区域,包括:根据该单行文本信息中单词或字的个数,将该原始图像划分为多个图像区域,该多个图像区域的个数大于或等于该单行文本信息中单词或字的个数。
例如图3所示的原始图像30中包括单行文本信息。在以分列投影的方式将原始图像30划分为多个图像区域的情况下,具体可以将原始图像30对应的灰度图像划分为多个图像区域,该多个图像区域具体可以是N个列区域。N的取值可以预先设置,具体的,N的取值可以与原始图像30的宽度和高度没有关联。具体的,N的取值可以与单行文本信息中的单词或字的个数有关,例如,N的取值可以大于或等于单行文本信息中的单词或字的个数。图3所示,该单行文本信息中包括7个单词。因此,可以将该原始图像30对应的灰度图像划分为N个列区域,N大于或等于7。例如,图8所示为该原始图像30对应的灰度图像划分为9个图像区域即9个列区域的示意图,即N取值为9。
可选的,该原始图像包括多行文本信息;将该原始图像划分为多个图像区域,包括:对该原始图像进行分割,得到多个子图像,该多个子图像中的每个子图像包括该多行文本信息中的一行文本信息;根据该每个子图像中单词或字的个数,将该每个子图像分别划分为多个图像区域,该每个子图像对应的多个图像区域的个数大于或等于该子图像中单词或字的个数。
例如,在其他实施例中,该原始图像可能会包括多行文本信息,在这种情况下,可以先将该原始图像进行分割,得到多个子图像,该多个子图像中的每个子图像包括该多行文本信息中的一行文本信息。也就是说,可以将该原始图像中的每一行文本信息分割为一个子图像。进一步,根据每个子图像中单词或字的个数,将每个子图像分别划分为多个图像区域,例如,N个列区域。每个子图像被划分后得到的N个列区域中N的取值大于或等于该子图像中单词或字的个数。其中,每个子图像被划分后得到的N个列区域类似于图8所示的示意图,此处不赘述。
S702、通过对该多个图像区域中的每个图像区域进行水平方向和垂直方向的投影,将该原始图像中的文本信息划分为一个或多个文本区域。
例如以图8所示的示意图为例,将该原始图像对应的灰度图像划分为多个图像区域,例如N个列区域的情况下,进一步,可以对该N个列区域中的每个列区域分别进行水平方向和垂直方向的投影,将该原始图像中的文本信息划分为一个或多个文本区域,从而可以避免原始图像中的文本行的弧度对文本区域的分割造成的影响。也就是说,本实施例主要是采用按列划分的方式将原始图像或原始图像对应的灰度图像划分为多个图像区域,进一步对该多个图像区域中的每个图像区域进行水平方向和垂直方向的投影,从而将文本信息划分为一个或多个文本区域。其中,将文本信息划分为一个或多个文本区域的过程也可以称为文本区域的定位、分割过程。下面具体介绍文本区域的定位、分割过程。
可选的,通过对该多个图像区域中的每个图像区域进行水平方向和垂直方向的投影,将该原始图像中的文本信息划分为一个或多个文本区域,包括如图9所示的如下几个步骤:
S901、对所述多个图像区域中的每个图像区域进行二值化处理,得到该每个图像区域分别对应的黑白图像。
例如在图8的基础上,可以对多个图像区域中的每个图像区域进行二值化处理,得到每个图像区域分别对应的黑白图像。其中,二值化处理过程可以参照上述实施例所述的过程,此处不再赘述。
可以理解的是,在其他一些实施例中,在对原始图像进行灰度处理得到原始图像对应的灰度图像的情况下,可以先对该原始图像对应的灰度图像进行二值化处理,得到该原始图像对应的二值化图像即黑白图像。进一步,采用如上所述的分列投影的方式将原始图像对应的黑白图像划分为多个图像区域。
S902、针对该每个图像区域分别对应的黑白图像进行逐列扫描,统计该每个图像区域分别对应的黑白图像中每一列的黑像素点的个数。
例如在图8的基础上,对多个图像区域中的每个图像区域进行二值化处理,得到每个图像区域分别对应的黑白图像即二值化图像后,可以进一步对每个图像区域分别对应的黑白图像进行逐列扫描,统计该每个图像区域分别对应的黑白图像中每一列的黑像素点的个数。此处的每一列可以是一列像素点。例如,第列的黑像素点的总个数可以记为
Figure DEST_PATH_IMAGE007
Figure 615425DEST_PATH_IMAGE007
可以通过如下公式(2)计算得到:
Figure DEST_PATH_IMAGE008
(2)
其中,
Figure DEST_PATH_IMAGE009
可以表示二值化图像中第i列中的第j行。
Figure 782095DEST_PATH_IMAGE005
表示二值化图像中第i列第j行上的像素点的value值。
Figure 377024DEST_PATH_IMAGE002
表示二值化图像的高度,
Figure 107083DEST_PATH_IMAGE001
表示二值化图像的宽度。
可以理解的是,通过公式(2)可以统计出每个图像区域中每一列的黑像素点的个数。
S903、根据该每一列的黑像素点的个数是否大于预设阈值,对该每一列进行标记,得到该每一列的标记信息。
进一步,还可以根据每个图像区域中每一列的黑像素点的个数,确定每个图像区域中每一列的黑像素点的个数是否大于预设阈值,并对每个图像区域中每一列进行标记,得到该每一列的标记信息。例如,预设阈值可以记为
Figure DEST_PATH_IMAGE010
Figure 995536DEST_PATH_IMAGE010
可以是经验值。在本实施例中,不同图像区域对应的
Figure 614998DEST_PATH_IMAGE010
可以不同。例如图8所示的图像区域1对应的
Figure 634907DEST_PATH_IMAGE010
可以是图像区域1中的各列的黑像素点个数的平均值,图像区域2对应的
Figure 699815DEST_PATH_IMAGE010
可以是图像区域2中的各列的黑像素点个数的平均值,以此类推。因此,在对图像区域1中的每一列进行标记的过程中,可以将图像区域1中每一列的黑像素点的个数
Figure 583719DEST_PATH_IMAGE007
与图像区域1对应的
Figure 669356DEST_PATH_IMAGE010
进行比较。在
Figure DEST_PATH_IMAGE011
的情况下,可以将该列记为1。在
Figure DEST_PATH_IMAGE012
的情况下,可以将该列记为0。也就是说,针对图像区域1中的每一列,若该列的黑像素点的个数大于图像区域1对应的
Figure 927293DEST_PATH_IMAGE010
,则表示该列中存在文本例如单词或字,否则表示该列中无文本。例如,在将图像区域1中的某一列的标记信息记为
Figure DEST_PATH_IMAGE013
的情况下,
Figure 625253DEST_PATH_IMAGE013
可以表示为如下公式(3):
Figure DEST_PATH_IMAGE014
(3)
同理,除图像区域1之外的其他图像区域中每一列的标记信息可以参照如上公式(3)进行确定。
S904、根据该每一列的标记信息,将该原始图像中的文本信息划分为一个或多个文本区域。
可以理解的是,在确定出每个图像区域中每一列的标记信息例如
Figure DEST_PATH_IMAGE015
的情况下,多个图像区域中每一列的标记信息
Figure 476579DEST_PATH_IMAGE015
可以构成一个数组。进一步,可以对该数组进行遍历,在遍历的过程中,若该数组中的值由0变为1,则将值记录在数组
Figure DEST_PATH_IMAGE016
中;若该数组中的值由1变为0,则将i值记录在数组
Figure DEST_PATH_IMAGE017
中。进一步,根据记录在数组
Figure 155953DEST_PATH_IMAGE016
中的i值和记录在数组
Figure 212771DEST_PATH_IMAGE017
中的值可以将原始图像中的文本信息划分为一个或多个文本区域。每个文本区域可记为
Figure DEST_PATH_IMAGE018
Figure 980001DEST_PATH_IMAGE018
表示一个单词或一个字。通过文本区域可以框选出字区域或单词区域。
可选的,根据该每一列的标记信息,将该原始图像中的文本信息划分为一个或多个文本区域,包括:根据该每一列的标记信息,将标记信息相同的连续的一列或多列划分为一个文本区域。
例如,多个图像区域中每一列的标记信息依次为11111000001111100011,因此,可以将连续的标记信息为1的多列划分为一个文本区域,将连续的标记信息为0的多列划分为一个文本区域,从而可以划分为5个文本区域。
可选的,根据该每一列的标记信息,将标记信息相同的连续的一列或多列划分为一个文本区域,包括:对该每一列的标记信息进行平滑处理,得到平滑处理后的该每一列的标记信息;将标记信息相同的连续的一列或多列划分为一个文本区域。
通常情况下,英文单词中字符与字符之间或者包括左右结构的字的左右部分之间是有间隙的,为了更好的分割出完整的文本区域,而不至于将同一个单词的每个字符或同一个字的左右部分分割开来,需要对字符与字符之间的间隙或同一个字的左右部分之间的间隙进行填充。进一步,得到每个单词或字的框区域,例如图4所示的黑色框。具体的,间隙填充可以采用游程平滑算法,游程平滑算法具体可以检测同一行上的黑色像素点之间的距离,当任意两个相邻黑像素点之间的白像素点游程长度小于设定的阈值时,将该两个相邻黑像素点之间的白像素点转换为黑像素点。例如,该设定的阈值为4,则
平滑前的每一列标记信息为:11111000001111100011
平滑后的每一列标记信息为:11111000001111111111
在平滑后,进一步将连续的标记信息为1的多列划分为一个文本区域,将连续的标记信息为0的多列划分为一个文本区域,从而可以将文本信息划分为3个文本区域。
本申请实施例通过以分列投影的方式将原始图像划分为多个图像区域,可以避免原始图像中的文本行的弧度对文本区域的分割造成的影响,从而提高文本区域分割的精准度。另外,在对不同图像区域中的每一列进行标记的情况下,由于不同图像区域中包括的文本信息可能不同,因此,通过不同图像区域采用不同的预设阈值,可以提高对每一列进行标记的精准度,即精准识别出每一列中是否存在文本信息。此外,通过对每一列的标记信息进行平滑处理,可以避免同一个英文单词中的不同字符被分割开或者可以避免同一个字的左右两部分被分割开,从而提高了文本区域分割的精准度。
在将该原始图像中的文本信息划分为一个或多个文本区域的另一种可行的实现方式中,具体包括如图10所示的如下几个步骤:
S1001、针对该原始图像对应的黑白图像进行逐列扫描,统计该黑白图像中每一列的黑像素点的个数。
例如,在图3所示的原始图像的基础上,可以对该原始图像进行灰度处理,得到该原始图像的灰度图像。进一步,对该灰度图像进行二值化处理,得到该原始图像对应的黑白图像即二值化图像。在该黑白图像的基础上,可以对该黑白图像进行逐列扫描,统计该黑白图像中每一列的黑像素点的个数,具体的统计方法可以参照上述公式(2)所述的方法,此处不再赘述。
S1002、根据该每一列的黑像素点的个数是否大于预设阈值,对该每一列进行标记,得到该每一列的标记信息。
进一步,根据该黑白图像中每一列的黑像素点的个数是否大于预设阈值,对该黑白图像中的每一列进行标记,得到每一列的标记信息,具体的标记过程可以参照上述公式(3)所述的方法,此处不再赘述。但是,在本实施例中,由于并没有将该原始图像的灰度图像或该原始图像对应的黑白图像划分为多个图像区域,因此,本实施例中的预设阈值可以是该黑白图像中各列的黑像素点个数的平均值。
S1003、根据该每一列的标记信息,将该原始图像中的文本信息划分为一个或多个文本区域。
具体的,S1003的实现过程和具体原理可以参照上述S904的实现过程和具体原理,此处不再赘述。
可以理解的是,在对文本信息划分为多个文本区域的情况下,还可以对该多个文本区域进行筛选,从而去除无效的文本区域。通常情况下,每个原始图像可对应有标注信息,该标注信息可以是该原始图像中的文本信息。例如,图3所示的原始图像的标注信息为“China,Why is this First, it is”。例如图4所示的多个文本区域中从左侧开始的第一个框内的文本并未出现在该标注信息中,因此,该第一个框为无效区域。在这种情况下,可以对分割出来的多个文本区域的宽度求平均得到平均值。进一步保留多个文本区域中宽度大于该平均值的文本区域,从而保证后续处理的文本区域中包含无效区域的可能性较小。可以理解的是,在一个文本信息例如一个句子中存在多个长单词的情况下,该句子中也可能会存在短单词例如“is”。因此,在个别单词例如“is”的宽度小于该平均值的情况下,“is”对应的文本区域可能会被误判为无效区域而被删除掉,但是这并不影响后续的针对文本区域的涂改掩膜的自动生成。
例如在图4中,可以将文本区域41作为目标文本区域。进一步,根据目标文本区域生成涂改掩膜。通常情况下,生成涂改掩膜的最简单方法是手动在画板上画出来,但是这种方法的生成效率较低,而且在训练模型的过程中容易造成过拟合,从而影响训练的精度。因此针对该问题,本实施可以采用更为真实、随机的方式生成涂改掩膜。下面通过具体的实施例对该涂改掩膜的生成方法进行介绍。
具体的,在该目标文本区域中确定涂改范围,并根据该涂改范围确定涂改掩膜,包括如图11所示的如下几个步骤:
S1101、确定该目标文本区域中的涂改范围。
如图4所示,在将文本区域41作为目标文本区域的情况下,如果对文本区域41中的单词进行大面积涂改即涂改范围过大,则可能会影响到对文本区域41左右两边文本的识别。因此,可以确定文本区域41中的涂改范围,进一步对该本区域41中的涂改范围进行涂改。具体的,本实施例采用了均值迁移(MeanShift)算法来确定文本区域41中的涂改范围。
均值迁移算法的一般定义是:给定d维空间Rd中的n个样本点,在该d维空间Rd中任选一点,MeanShift向量的基本形式可以定义为如下公式(4):
Figure DEST_PATH_IMAGE019
(4)
其中,表示n个样本点中的第个点,
Figure DEST_PATH_IMAGE020
Figure DEST_PATH_IMAGE021
表示一个半径为h的高维球区域,该高维球区域是由满足如下公式(5)所示关系的点构成的。K表示n个样本点
Figure DEST_PATH_IMAGE022
中有K个落入到区域中
Figure DEST_PATH_IMAGE023
Figure DEST_PATH_IMAGE024
(5)
其中,表示以为圆心、以为半径的圆。
MeanShift的基本思想是在数据集中选定一个点,例如,结合到本实施例中,可以是在目标文本区域例如文本区域41中随机选定一个点,进一步以该点为圆心、以r为半径画一个圆。其中,r可以是经验值,具体的,r的取值可以与文本区域41的框的高度和宽度有关。具体的,r的取值可以尽可能的接近宽度,例如,r的取值可以与宽度成一定的比例关系。通常情况下,r的取值可以在1.2倍宽度与1.5倍宽度之间。在其他一些实施例中,如果文本区域41的框的高度和宽度相差较大,则r的取值可以与高度和宽度中较小的数值成上述比例关系。
例如图12所示,120表示目标文本区域,120内的黑色点表示目标文本区域中的黑色像素点。P1表示在目标文本区域中随机选定的一个点,圆1是以P1为圆心、以r为半径的圆。进一步,确定圆1内所有的value值为1的点,即确定圆1内所有的黑色像素点,并计算P1到圆1内所有的黑色像素点的向量的平均值,该向量的平均值例如为从P1到P2的向量。进一步,将圆1的圆心即P1与该向量的平均值的和作为新的圆心,即将从P1到P2的向量的终点P2作为新的圆心。进一步,以P2为新的圆心、以r为半径画一个圆,得到圆2。计算P2到圆2内所有的黑色像素点的向量的平均值,例如从P2到P3的向量,从而得到下一个新的圆心,例如P3。再以P3为新的圆心、以r为半径画一个圆,得到圆3。依次类推不断迭代,直到满足一定条件的情况下结束迭代。该条件例如可以是向量的平均值小于或等于预设值。例如图12所示,在不断迭代过程中,向量的平均值不断减小,在向量的平均值减小到一定程度的情况下,结束迭代,从而得到最终的圆,例如圆3。
可以理解的是,通过MeanShift算法可以找到目标文本区域中信息最多的部分,例如,圆3。进一步,根据该信息最多的部分可以确定出该目标文本区域中的涂改范围。例如,该涂改范围可以是圆3的范围,或者该涂改范围可以是圆3的外接矩形的范围。
S1102、在该涂改范围内生成一条或多条涂改曲线,得到该涂改掩膜。
进一步,在该涂改范围内从左到右按照一定的角度生成一系列的随机点,将该一系列的随机点连接起来可以生成一条涂改曲线。通常在真实场景中,涂改曲线可能是多条连续的回环线。因此,可以进一步以该涂改范围的右边点为端点再向左生成一条随机线,重复多次即可生成连续的回环线,从而得到涂改掩膜。如图13或14所示为涂改掩膜的示意图,该涂改掩膜可以是黑白图像。在本实施例中,涂改掩膜的大小与涂改范围的大小相同,涂改范围的中心点为涂改掩膜的中心点。因此,在涂改范围不同的情况下,涂改掩膜的大小可能有所不同。另外,在目标文本区域取不同文本区域的情况下,目标文本区域的大小可能会不同,因此导致涂改范围和涂改掩膜可能会不同。
进一步,可以将原始图像与涂改掩膜进行图像合成,从而得到带涂改的图像数据。
可选的,将该原始图像和该涂改掩膜进行图像合成,得到带涂改的图像数据,包括如图15所示的如下几个步骤:
S1501、根据该涂改掩膜的中心点,确定该原始图像中的待涂改区域,该待涂改区域的中心点位置与该涂改掩膜的中心点位置相同,该待涂改区域的大小与该涂改掩膜的大小相同。
如图16所示,文本区域41中的虚线框表示文本区域41中的涂改范围。根据该涂改范围可以生成与该涂改范围大小一致且中心点位置相同的涂改掩膜42。进一步根据涂改掩膜42的中心点可以确定出原始图像中的待涂改区域43。具体的,待涂改区域43的中心点位置与涂改掩膜42的中心点位置相同,并且待涂改区域43的大小与涂改掩膜42的大小相同。
S1502、将该原始图像中的待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据。
如图16所示,将该原始图像中的待涂改区域43与该涂改掩膜42进行图像合成,可以得到带涂改的图像数据44。
在一种可行的实现方式中,将该原始图像中的待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据,包括:将该原始图像中的该待涂改区域替换为该涂改掩膜,得到该带涂改的图像数据。
例如,将该原始图像中的待涂改区域43与该涂改掩膜42进行图像合成的过程中,可以将该原始图像中的待涂改区域43替换为该涂改掩膜42,得到该带涂改的图像数据44。也就是说,可以将涂改掩膜42整体即包括涂改掩膜42中的涂改曲线以及涂改掩膜42中的背景一起融合到该原始图像中。
在另一种可行的实现方式中,将该原始图像中的待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据,包括:将该涂改掩膜中的一条或多条涂改曲线融合到该原始图像中的该待涂改区域中,得到该带涂改的图像数据。
例如,将该原始图像中的待涂改区域43与该涂改掩膜42进行图像合成的过程中,可以将涂改掩膜42中的一条或多条涂改曲线融合到该原始图像中的待涂改区域43中,而不需将涂改掩膜42中的背景融合到该原始图像中。
具体的,在将涂改掩膜42中的一条或多条涂改曲线融合到待涂改区域43的过程中,具体可以比较待涂改区域43和涂改掩膜42中相同位置上的像素点的像素灰度值。如果涂改掩膜42中某一位置上的像素点的像素灰度值为0即该位置上的像素点为黑像素点,则可以将待涂改区域43中相同位置上的像素点的像素灰度值置为0即将待涂改区域43中相同位置上的像素点也置为黑像素点。如果涂改掩膜42中某一位置上的像素点的像素灰度值为255即该位置上的像素点为白像素点,则可以保持待涂改区域43中相同位置上的像素点的像素灰度值不变,从而将涂改掩膜42中的一条或多条涂改曲线融合到待涂改区域43中,并舍弃涂改掩膜42的背景。该融合过程可以表示为如下公式(6):
Figure DEST_PATH_IMAGE025
(6)
其中,Ω表示待涂改区域43。由于待涂改区域43的大小与涂改掩膜42的大小相同,因此,Ω也表示涂改掩膜42。
Figure DEST_PATH_IMAGE026
表示待涂改区域43中位置
Figure 261334DEST_PATH_IMAGE003
上的像素点的像素灰度值。
Figure DEST_PATH_IMAGE027
表示涂改掩膜42中相同位置
Figure 49292DEST_PATH_IMAGE003
上的像素点的像素灰度值。
本实施例通过采用均值迁移算法,确定该目标文本区域中的涂改范围,使得涂改范围可以包括目标文本区域中信息最多的部分,从而可以筛选定位出单个文本的位置。进一步根据涂改范围生成涂改掩膜,从而可以根据涂改掩膜确定出该原始图像中更加贴合实际情况的待涂改区域。将该原始图像和该涂改掩膜进行图像合成,可使得涂改掩膜能够覆盖到该原始图像中文本较多的待涂改区域,避免对文本区域中的文本例如单词或字进行大面积涂改即涂改范围过大,从而可以有效避免影响到对文本区域左右两边文本的识别。
如图16所示,带涂改的图像数据44中的“China,”被涂改,相应的,可以对原始图像的标注信息“China,Why is this First, it is”进行修改,例如,修改为“Why is thisFirst, it is”。其中,原始图像的标注信息还可以记为原始图像的标签。但是,在一些情况下,文本区域经过筛选之后可能无法确定原始图像的标注信息该如何修改。针对这种问题,本实施例提出了一种在不修改原始图像的标注信息的情况下生成带涂改的图像数据的方法。下面结合具体的实施例对该方法进行介绍。
具体的,在又一种可行的实现方式中,将该原始图像中的待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据,包括如图17所示的如下几个步骤:
S1701、复制该原始图像中的该待涂改区域,得到该待涂改区域的副本。
例如图18所示,根据上述实施例所述的内容确定出原始图像中的待涂改区域43的情况下,可以复制待涂改区域43得到待涂改区域43的副本。
S1702、将该待涂改区域的副本平移到相对于该原始图像的预设位置,得到平移后的图像数据,该平移后的图像数据包括该原始图像和该待涂改区域的副本。
进一步,将待涂改区域43的副本平移到相对于该原始图像的预设位置,该预设位置例如可以是该原始图像上方、下方、左侧或右侧等位置。例如图18所示,可以将待涂改区域43的副本向下平移,可以理解的是,向下平移只是一种平移方式,例如还可以向上、向左、向右等其他方向平移,此处不做具体限定。对待涂改区域43的副本进行平移后得到平移后的图像数据,如图18所示的180为平移后的图像数据。该平移后的图像数据中包括原始图像30和涂改区域43的副本。
S1703、将该平移后的图像数据中的该待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据。
例如,在得到平移后的图像数据180的情况下,可以进一步将平移后的图像数据180中的待涂改区域与涂改掩膜42进行图像合成,得到带涂改的图像数据181。其中,平移后的图像数据180中的待涂改区域具体为原始图像中的涂改区域43。
在其他实施例中,还可以通过如图19所示的方法得到带涂改的图像数据181。具体的,在确定出原始图像中的待涂改区域43的情况下,可以复制待涂改区域43得到待涂改区域43的副本。进一步,将待涂改区域43和涂改掩膜42进行图像合成,得到带涂改的图像数据190。进一步,将待涂改区域43的副本平移到相对于带涂改的图像数据190的预设位置,例如,将待涂改区域43的副本平移到带涂改的图像数据190的下方,从而得到带涂改的图像数据181。
本实施例通过复制该原始图像中的该待涂改区域,得到该待涂改区域的副本,并对该待涂改区域的副本进行平移。进一步,将该待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据,使得带涂改的图像数据中不仅可以包括该待涂改区域被涂改后的效果,还可以包括该待涂改区域的副本。由于该待涂改区域的副本中包括未被涂改的文本,使得原始图像的标注信息可以保持不变,从而实现了在不修改原始图像的标注信息的情况下生成带涂改的图像数据的方法,提高了原始图像的标注信息的完整性、以及避免原始图像的标注信息随着待涂改区域的变化而出现错误修改的情况。另外,该待涂改区域的副本的平移方向可以选择上下左右等不同方向,使得平移方式更加丰富、灵活。
如图18或19所示,由于平移待涂改区域43的副本,导致带涂改的图像数据181中出现了留白区域。下面结合具体实施例介绍在留白区域中补充背景色的方法。
可选的,将所述平移后的图像数据中的所述待涂改区域与所述涂改掩膜进行图像合成,得到所述带涂改的图像数据之后,该方法还包括:计算所述原始图像的灰度直方图;将所述灰度直方图中灰度值统计量最多的灰度作为背景色;将所述背景色填充到所述带涂改的图像数据中的留白区域。
例如以图18为例,在将平移后的图像数据180中的待涂改区域43与涂改掩膜42进行图像合成得到带涂改的图像数据181的情况下,可以进一步计算该原始图像的灰度直方图,并将该灰度直方图中灰度值统计量最多的灰度作为背景色。进一步,将该背景色填充到该带涂改的图像数据181的留白区域中,得到带涂改的图像数据182。另外,为了保证原始图像30在图像处理之前和图像处理之后的尺寸保持不变,还可以进一步对带涂改的图像数据182进行归一化处理,归一化处理后的图像数据如图18所示的183。
可以理解的是,对图19所示的带涂改的图像数据181进行留白区域的填充、以及归一化处理的过程可以参照如图18所示的处理过程,此处不再赘述。
本申请实施例通过在带涂改的图像数据的留白区域中填充背景色、以及对带涂改的图像数据进行归一化处理,保证原始图像在图像处理之前和图像处理之后的尺寸不变,使得经过图像处理后得到涂改效果更加逼近真实的手写涂改效果,在将带涂改的图像数据作为神经网络模型的训练样本的情况下,可以进一步为提高训练出的神经网络模型的识别准确度奠定了基础。
图20示出根据本申请一实施例的图像处理装置的结构框图。在本申请实施例中,该装置具体可以是如上实施例中的终端或服务器;或者该装置具体可以是如上实施例中的终端或服务器中的部件。如图20所示,该装置200可以包括:
获取模块201,用于获取原始图像,该原始图像包括文本信息;
划分模块202,用于将该原始图像中的文本信息划分为一个或多个文本区域;
选择模块203,用于从该一个或多个文本区域中选择目标文本区域;
确定模块204,用于在该目标文本区域中确定涂改范围,并根据该涂改范围确定涂改掩膜;
图像合成模块205,用于将该原始图像和该涂改掩膜进行图像合成,得到带涂改的图像数据。
可选的,该装置200还包括图像处理模块206,用于在划分模块202将该原始图像中的文本信息划分为一个或多个文本区域之前,将该原始图像进行灰度处理,得到该原始图像对应的灰度图像;对该原始图像对应的灰度图像进行图像增强,得到该原始图像对应的图像增强后的图像;划分模块202具体用于将该原始图像对应的图像增强后的图像中的文本信息划分为一个或多个文本区域。
可选的,划分模块202具体用于:将该原始图像划分为多个图像区域;通过对该多个图像区域中的每个图像区域进行水平方向和垂直方向的投影,将该原始图像中的文本信息划分为一个或多个文本区域。
可选的,该原始图像包括单行文本信息;划分模块202具体用于:根据该单行文本信息中单词或字的个数,将该原始图像划分为多个图像区域,该多个图像区域的个数大于或等于该单行文本信息中单词或字的个数。
可选的,该原始图像包括多行文本信息;划分模块202具体用于:对该原始图像进行分割,得到多个子图像,该多个子图像中的每个子图像包括该多行文本信息中的一行文本信息;根据该每个子图像中单词或字的个数,将该每个子图像分别划分为多个图像区域,该每个子图像对应的多个图像区域的个数大于或等于该子图像中单词或字的个数。
可选的,划分模块202包括:二值化处理单元2021、统计单元2022、标记单元2023和划分单元2024;其中,二值化处理单元2021用于对该多个图像区域中的每个图像区域进行二值化处理,得到该每个图像区域分别对应的黑白图像;统计单元2022用于针对该每个图像区域分别对应的黑白图像进行逐列扫描,统计该每个图像区域分别对应的黑白图像中每一列的黑像素点的个数;标记单元2023用于根据该每一列的黑像素点的个数是否大于预设阈值,对该每一列进行标记,得到该每一列的标记信息;划分单元2024用于根据该每一列的标记信息,将该原始图像中的文本信息划分为一个或多个文本区域。
可选的,划分模块202包括:统计单元2022、标记单元2023和划分单元2024;统计单元2022用于针对该原始图像对应的黑白图像进行逐列扫描,统计该黑白图像中每一列的黑像素点的个数;标记单元2023用于根据该每一列的黑像素点的个数是否大于预设阈值,对该每一列进行标记,得到该每一列的标记信息;划分单元2024用于根据该每一列的标记信息,将该原始图像中的文本信息划分为一个或多个文本区域。
可选的,划分单元2024具体用于:根据该每一列的标记信息,将标记信息相同的连续的一列或多列划分为一个文本区域。
可选的,划分模块202还包括平滑处理单元2025,用于对该每一列的标记信息进行平滑处理,得到平滑处理后的该每一列的标记信息;划分单元2024具体用于将标记信息相同的连续的一列或多列划分为一个文本区域。
可选的,确定模块204具体用于:确定该目标文本区域中的涂改范围;在该涂改范围内生成一条或多条涂改曲线,得到该涂改掩膜。
可选的,图像合成模块205具体用于:根据该涂改掩膜的中心点,确定该原始图像中的待涂改区域,该待涂改区域的中心点位置与该涂改掩膜的中心点位置相同,该待涂改区域的大小与该涂改掩膜的大小相同;将该原始图像中的待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据。
可选的,图像合成模块205具体用于:将该原始图像中的该待涂改区域替换为该涂改掩膜,得到该带涂改的图像数据。
可选的,图像合成模块205具体用于:将该涂改掩膜中的一条或多条涂改曲线融合到该原始图像中的该待涂改区域中,得到该带涂改的图像数据。
可选的,图像合成模块205包括:复制单元2051、平移单元2052、合成单元2053;其中,复制单元2051用于复制该原始图像中的该待涂改区域,得到该待涂改区域的副本;平移单元2052用于将该待涂改区域的副本平移到相对于该原始图像的预设位置,得到平移后的图像数据,该平移后的图像数据包括该原始图像和该待涂改区域的副本;合成单元2053用于将该平移后的图像数据中的该待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据。
可选的,该装置200还包括:计算模块207和填充模块208;其中,计算模块207用于在图像合成模块205将该平移后的图像数据中的该待涂改区域与该涂改掩膜进行图像合成,得到该带涂改的图像数据之后,计算该原始图像的灰度直方图;填充模块208用于将该灰度直方图中灰度值统计量最多的灰度作为背景色;将该背景色填充到该带涂改的图像数据中的留白区域。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
图21示出根据本申请一实施例的图像处理设备的结构框图。在本申请实施例中,该图像处理设备具体可以是如上实施例中的终端或服务器。如图21所示,该图像处理设备包括:存储器2110和处理器2120,存储器2110内存储有可在处理器2120上运行的计算机程序。处理器2120执行该计算机程序时实现上述实施例中的图像处理方法。存储器2110和处理器2120的数量可以为一个或多个。
该应用程序现场还原设备还包括:
通信接口2130,用于与外界设备进行通信,进行数据交互传输。
如果存储器2110、处理器2120和通信接口2130独立实现,则存储器2110、处理器2120和通信接口2130可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图21中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器2110、处理器2120及通信接口2130集成在一块芯片上,则存储器2110、处理器2120及通信接口2130可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM) 、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (28)

1.一种图像处理方法,其特征在于,所述方法包括:
获取原始图像,所述原始图像包括文本信息;
将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号;
从所述多个文本区域中选择目标文本区域;
采用均值迁移算法,在所述目标文本区域中确定涂改范围,在所述涂改范围内生成多个随机点,根据所述多个随机点生成一条或多条涂改曲线,得到涂改掩膜;
根据所述涂改掩膜的中心点,确定所述原始图像中的待涂改区域,所述待涂改区域的中心点位置与所述涂改掩膜的中心点位置相同,所述待涂改区域的大小与所述涂改掩膜的大小相同;将所述原始图像中的待涂改区域与所述涂改掩膜进行图像合成,得到带涂改的图像数据。
2.根据权利要求1所述的方法,其特征在于,将所述原始图像中的文本信息划分为多个文本区域之前,所述方法还包括:
将所述原始图像进行灰度处理,得到所述原始图像对应的灰度图像;
对所述原始图像对应的灰度图像进行图像增强,得到所述原始图像对应的图像增强后的图像;
将所述原始图像中的文本信息划分为多个文本区域,包括:
将所述原始图像对应的图像增强后的图像中的文本信息划分为多个文本区域。
3.根据权利要求1所述的方法,其特征在于,将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号,包括:
将所述原始图像划分为多个图像区域;
通过对所述多个图像区域中的每个图像区域进行水平方向和垂直方向的投影,将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号。
4.根据权利要求3所述的方法,其特征在于,所述原始图像包括单行文本信息;
将所述原始图像划分为多个图像区域,包括:
根据所述单行文本信息中单词或字的个数,将所述原始图像划分为多个图像区域,所述多个图像区域的个数大于或等于所述单行文本信息中单词或字的个数。
5.根据权利要求3所述的方法,其特征在于,所述原始图像包括多行文本信息;
将所述原始图像划分为多个图像区域,包括:
对所述原始图像进行分割,得到多个子图像,所述多个子图像中的每个子图像包括所述多行文本信息中的一行文本信息;
根据所述每个子图像中单词或字的个数,将所述每个子图像分别划分为多个图像区域,所述每个子图像对应的多个图像区域的个数大于或等于所述子图像中单词或字的个数。
6.根据权利要求3所述的方法,其特征在于,通过对所述多个图像区域中的每个图像区域进行水平方向和垂直方向的投影,将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号,包括:
对所述多个图像区域中的每个图像区域进行二值化处理,得到所述每个图像区域分别对应的黑白图像;
针对所述每个图像区域分别对应的黑白图像进行逐列扫描,统计所述每个图像区域分别对应的黑白图像中每一列的黑像素点的个数;
根据所述每一列的黑像素点的个数是否大于预设阈值,对所述每一列进行标记,得到所述每一列的标记信息;
根据所述每一列的标记信息,将所述原始图像中的文本信息划分为多个文本区域,每个文本区域包括一个单词、一个字或一个标点符号。
7.根据权利要求1所述的方法,其特征在于,将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号,包括:
针对所述原始图像对应的黑白图像进行逐列扫描,统计所述黑白图像中每一列的黑像素点的个数;
根据所述每一列的黑像素点的个数是否大于预设阈值,对所述每一列进行标记,得到所述每一列的标记信息;
根据所述每一列的标记信息,将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号。
8.根据权利要求6或7所述的方法,其特征在于,根据所述每一列的标记信息,将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号,包括:
根据所述每一列的标记信息,将标记信息相同的连续的一列或多列划分为一个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号。
9.根据权利要求8所述的方法,其特征在于,根据所述每一列的标记信息,将标记信息相同的连续的一列或多列划分为一个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号,包括:
对所述每一列的标记信息进行平滑处理,得到平滑处理后的所述每一列的标记信息;
将标记信息相同的连续的一列或多列划分为一个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号。
10.根据权利要求1所述的方法,其特征在于,将所述原始图像中的待涂改区域与所述涂改掩膜进行图像合成,得到所述带涂改的图像数据,包括:
将所述原始图像中的所述待涂改区域替换为所述涂改掩膜,得到所述带涂改的图像数据。
11.根据权利要求1所述的方法,其特征在于,将所述原始图像中的待涂改区域与所述涂改掩膜进行图像合成,得到所述带涂改的图像数据,包括:
将所述涂改掩膜中的一条或多条涂改曲线融合到所述原始图像中的所述待涂改区域中,得到所述带涂改的图像数据。
12.根据权利要求1所述的方法,其特征在于,将所述原始图像中的待涂改区域与所述涂改掩膜进行图像合成,得到所述带涂改的图像数据,包括:
复制所述原始图像中的所述待涂改区域,得到所述待涂改区域的副本;
将所述待涂改区域的副本平移到相对于所述原始图像的预设位置,得到平移后的图像数据,所述平移后的图像数据包括所述原始图像和所述待涂改区域的副本;
将所述平移后的图像数据中的所述待涂改区域与所述涂改掩膜进行图像合成,得到所述带涂改的图像数据。
13.根据权利要求12所述的方法,其特征在于,将所述平移后的图像数据中的所述待涂改区域与所述涂改掩膜进行图像合成,得到所述带涂改的图像数据之后,所述方法还包括:
计算所述原始图像的灰度直方图;
将所述灰度直方图中灰度值统计量最多的灰度作为背景色;
将所述背景色填充到所述带涂改的图像数据中的留白区域。
14.一种图像处理装置,其特征在于,所述装置包括:
获取模块,用于获取原始图像,所述原始图像包括文本信息;
划分模块,用于将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号;
选择模块,用于从所述多个文本区域中选择目标文本区域;
确定模块,用于采用均值迁移算法,在所述目标文本区域中确定涂改范围,在所述涂改范围内生成多个随机点,根据所述多个随机点生成一条或多条涂改曲线,得到涂改掩膜;
图像合成模块,用于根据所述涂改掩膜的中心点,确定所述原始图像中的待涂改区域,所述待涂改区域的中心点位置与所述涂改掩膜的中心点位置相同,所述待涂改区域的大小与所述涂改掩膜的大小相同;将所述原始图像中的待涂改区域与所述涂改掩膜进行图像合成,得到带涂改的图像数据。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:图像处理模块,用于所述划分模块将所述原始图像中的文本信息划分为多个文本区域之前,将所述原始图像进行灰度处理,得到所述原始图像对应的灰度图像;对所述原始图像对应的灰度图像进行图像增强,得到所述原始图像对应的图像增强后的图像;
所述划分模块具体用于:将所述原始图像对应的图像增强后的图像中的文本信息划分为多个文本区域。
16.根据权利要求14所述的装置,其特征在于,所述划分模块具体用于:
将所述原始图像划分为多个图像区域;
通过对所述多个图像区域中的每个图像区域进行水平方向和垂直方向的投影,将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号。
17.根据权利要求16所述的装置,其特征在于,所述原始图像包括单行文本信息;
所述划分模块具体用于:根据所述单行文本信息中单词或字的个数,将所述原始图像划分为多个图像区域,所述多个图像区域的个数大于或等于所述单行文本信息中单词或字的个数。
18.根据权利要求16所述的装置,其特征在于,所述原始图像包括多行文本信息;
所述划分模块具体用于:对所述原始图像进行分割,得到多个子图像,所述多个子图像中的每个子图像包括所述多行文本信息中的一行文本信息;根据所述每个子图像中单词或字的个数,将所述每个子图像分别划分为多个图像区域,所述每个子图像对应的多个图像区域的个数大于或等于所述子图像中单词或字的个数。
19.根据权利要求16所述的装置,其特征在于,所述划分模块包括:二值化处理单元、统计单元、标记单元和划分单元;其中,
所述二值化处理单元用于对所述多个图像区域中的每个图像区域进行二值化处理,得到所述每个图像区域分别对应的黑白图像;
所述统计单元用于针对所述每个图像区域分别对应的黑白图像进行逐列扫描,统计所述每个图像区域分别对应的黑白图像中每一列的黑像素点的个数;
所述标记单元用于根据所述每一列的黑像素点的个数是否大于预设阈值,对所述每一列进行标记,得到所述每一列的标记信息;
所述划分单元用于根据所述每一列的标记信息,将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号。
20.根据权利要求14所述的装置,其特征在于,所述划分模块包括:统计单元、标记单元和划分单元;其中,
所述统计单元用于针对所述原始图像对应的黑白图像进行逐列扫描,统计所述黑白图像中每一列的黑像素点的个数;
所述标记单元用于根据所述每一列的黑像素点的个数是否大于预设阈值,对所述每一列进行标记,得到所述每一列的标记信息;
所述划分单元用于根据所述每一列的标记信息,将所述原始图像中的文本信息划分为多个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号。
21.根据权利要求19或20所述的装置,其特征在于,所述划分单元具体用于:根据所述每一列的标记信息,将标记信息相同的连续的一列或多列划分为一个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号。
22.根据权利要求21所述的装置,其特征在于,所述划分模块还包括平滑处理单元,用于对所述每一列的标记信息进行平滑处理,得到平滑处理后的所述每一列的标记信息;
所述划分单元具体用于将标记信息相同的连续的一列或多列划分为一个文本区域,其中,每个文本区域包括一个单词、一个字或一个标点符号。
23.根据权利要求14所述的装置,其特征在于,所述图像合成模块具体用于:将所述原始图像中的所述待涂改区域替换为所述涂改掩膜,得到所述带涂改的图像数据。
24.根据权利要求14所述的装置,其特征在于,所述图像合成模块具体用于:将所述涂改掩膜中的一条或多条涂改曲线融合到所述原始图像中的所述待涂改区域中,得到所述带涂改的图像数据。
25.根据权利要求14所述的装置,其特征在于,所述图像合成模块包括:复制单元、平移单元和合成单元;其中,
所述复制单元用于复制所述原始图像中的所述待涂改区域,得到所述待涂改区域的副本;
所述平移单元用于将所述待涂改区域的副本平移到相对于所述原始图像的预设位置,得到平移后的图像数据,所述平移后的图像数据包括所述原始图像和所述待涂改区域的副本;
所述合成单元用于将所述平移后的图像数据中的所述待涂改区域与所述涂改掩膜进行图像合成,得到所述带涂改的图像数据。
26.根据权利要求25所述的装置,其特征在于,所述装置还包括:计算模块和填充模块;其中,
所述计算模块用于在所述图像合成模块将所述平移后的图像数据中的所述待涂改区域与所述涂改掩膜进行图像合成,得到所述带涂改的图像数据之后,计算所述原始图像的灰度直方图;
所述填充模块用于将所述灰度直方图中灰度值统计量最多的灰度作为背景色;将所述背景色填充到所述带涂改的图像数据中的留白区域。
27.一种图像处理设备,其特征在于,包括:处理器和存储器,所述存储器中存储指令,所述指令由处理器加载并执行,以实现如权利要求1至13中任一项所述的方法。
28.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至13中任一项所述的方法。
CN202110502802.2A 2021-05-10 2021-05-10 图像处理方法、装置、设备及存储介质 Active CN113159035B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110502802.2A CN113159035B (zh) 2021-05-10 2021-05-10 图像处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110502802.2A CN113159035B (zh) 2021-05-10 2021-05-10 图像处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113159035A CN113159035A (zh) 2021-07-23
CN113159035B true CN113159035B (zh) 2022-06-07

Family

ID=76873964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110502802.2A Active CN113159035B (zh) 2021-05-10 2021-05-10 图像处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113159035B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113469148B (zh) * 2021-09-02 2021-11-12 北京世纪好未来教育科技有限公司 一种文本擦除方法及模型的训练方法、装置、存储介质
CN117173703B (zh) * 2023-11-02 2024-01-16 温州华嘉电器有限公司 一种隔离开关状态识别方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512439A (zh) * 2002-12-26 2004-07-14 ��ʿͨ��ʽ���� 视频文本处理装置
CN107025284A (zh) * 2017-04-06 2017-08-08 中南大学 网络评论文本情感倾向的识别方法及卷积神经网络模型
CN108052499A (zh) * 2017-11-20 2018-05-18 北京百度网讯科技有限公司 基于人工智能的文本纠错方法、装置及计算机可读介质
CN108132968A (zh) * 2017-12-01 2018-06-08 西安交通大学 网络文本与图像中关联语义基元的弱监督学习方法
CN108280051A (zh) * 2018-01-22 2018-07-13 清华大学 一种文本数据中错误字符的检测方法、装置和设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081731B (zh) * 2009-11-26 2013-01-23 中国移动通信集团广东有限公司 一种从图像中提取文本的方法和装置
CN110895653B (zh) * 2018-09-11 2023-09-29 广州金山移动科技有限公司 一种文档内容涂改方法、装置、电子设备及可读存储介质
CN109685052A (zh) * 2018-12-06 2019-04-26 泰康保险集团股份有限公司 文本图像处理方法、装置、电子设备及计算机可读介质
CN110400309A (zh) * 2019-07-29 2019-11-01 联想(北京)有限公司 图像处理方法和装置
CN111144305B (zh) * 2019-12-26 2021-11-30 京东数字科技控股有限公司 训练数据生成方法、装置、电子设备和介质
CN111931018B (zh) * 2020-10-14 2021-02-02 北京世纪好未来教育科技有限公司 试题匹配及试题拆分方法、装置和计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512439A (zh) * 2002-12-26 2004-07-14 ��ʿͨ��ʽ���� 视频文本处理装置
CN107025284A (zh) * 2017-04-06 2017-08-08 中南大学 网络评论文本情感倾向的识别方法及卷积神经网络模型
CN108052499A (zh) * 2017-11-20 2018-05-18 北京百度网讯科技有限公司 基于人工智能的文本纠错方法、装置及计算机可读介质
CN108132968A (zh) * 2017-12-01 2018-06-08 西安交通大学 网络文本与图像中关联语义基元的弱监督学习方法
CN108280051A (zh) * 2018-01-22 2018-07-13 清华大学 一种文本数据中错误字符的检测方法、装置和设备

Also Published As

Publication number Publication date
CN113159035A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
US20210256253A1 (en) Method and apparatus of image-to-document conversion based on ocr, device, and readable storage medium
US11595737B2 (en) Method for embedding advertisement in video and computer device
US10872420B2 (en) Electronic device and method for automatic human segmentation in image
US8457403B2 (en) Method of detecting and correcting digital images of books in the book spine area
CN113159035B (zh) 图像处理方法、装置、设备及存储介质
CN110443140B (zh) 文本定位的方法、装置、计算机设备及存储介质
CN107273895B (zh) 用于头戴式智能设备的视频流实时文本识别及翻译的方法
CN110889824A (zh) 一种样本生成方法、装置、电子设备及计算机可读存储介质
JP2001016424A (ja) 枠消し装置、枠消し方法、およびオーサリング装置
US20210286946A1 (en) Apparatus and method for learning text detection model
JP5541679B2 (ja) 画像処理装置及び方法、並びに、プログラム
CN113592735A (zh) 文本页面图像还原方法及系统、电子设备和计算机可读介质
CN113436222A (zh) 图像处理方法、图像处理装置、电子设备及存储介质
Song et al. Weakly-supervised stitching network for real-world panoramic image generation
US20230162413A1 (en) Stroke-Guided Sketch Vectorization
CN112906532B (zh) 图像处理方法和装置、电子设备和存储介质
CN116563303A (zh) 一种场景可泛化的交互式辐射场分割方法
CN115063813B (zh) 针对文字失真的对齐模型的训练方法及训练装置
CN108256611B (zh) 二维码影像生成方法、装置、计算设备及存储介质
CN115797939A (zh) 一种基于深度学习的两阶段斜体字符识别方法及装置
CN113766147B (zh) 视频中嵌入图像的方法、平面预测模型获取方法和装置
CN113936187A (zh) 文本图像合成方法、装置、存储介质及电子设备
CN117597702A (zh) 缩放无关的水印提取
JP2004094427A (ja) 帳票画像処理装置及び該装置を実現するためのプログラム
CN112907705B (zh) 涂改图像生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant