基于OpenCV技术的票据分割方法技术

技术编号:17781113 阅读:432 留言:0更新日期:2018-04-22 10:24
本发明专利技术公开了基于OpenCV技术的票据分割方法,涉及计算机图像处理技术领域。包括以下步骤:步骤一:对扫描件图片进行图片预处理,所述预处理包括对扫描件图片内容的去噪处理和二值化处理,所述去噪处理包括双边滤波、中值滤波进行平滑,所述二值化处理,具体为先获取图片的灰度图内容,然后再根据合理的阈值进行二值化处理;步骤二:利用Canny算子对扫描件进行边缘检测,得到票据在整个图片的中的票据边缘线,然后根据票据边缘线计算得到其最小外部矩形;步骤三:根据检测到的票据边缘线和其最小外部矩形,利用Opencv中的仿射变换函数分割出单张票据。本发明专利技术所提出的方法则只需要边缘信息就可以完成上述过程,不仅节省了计算资源,还提升了票据处理的速度。

【技术实现步骤摘要】
基于OpenCV技术的票据分割方法
本专利技术的实施方式涉及计算机图像处理
,更具体地,本专利技术的实施方式涉及利用OpenCV实现一种高精度、高效率、通用性强的自动分割票据的方法。
技术介绍
大型公司的财务人员每天需要繁琐地处理大量的票据,随着公司业务量的提升,公司可能面临着财务人员短缺,业务处理不及时的问题,这时我们就需要借助计算机视觉中OCR技术进行自动识别和处理。然而扫描件中票据并不规则的粘贴,以常见的报销票据为例,我们往往会把许多票据混合且无规律的贴到一张或多张A4纸大小的纸张上,然后对这些粘贴票据的纸张进行扫描,再进行后续的识别处理。但是票据的OCR识别并非是以扫描件为识别单位,而是以单张票据作为一个识别单元。这里就需要使用本文所提出的票据分割方法,即对一个A4纸大小的扫描件进行处理,将上面的各个票据分割出来,并且为了提高OCR识别正确率,需要保证票据偏转角度尽可能小。
技术实现思路
本专利技术的目的是针对上述
技术介绍
中的缺陷,提供一种基于OpenCV技术的票据分割方法,即基于计算机视觉技术,通过OpenCV实现自动分割扫描件中票据。由于处理的票据都是彩色图片,在进行矫正之前需要先进行票据图片的预处理,然后通过边缘检测算法提取出票据的轮廓信息,然后计算出轮廓信息的最小外部矩形,最后利用该矩形的其中三个顶点进行仿射变换得到最终“方正”票据。为了达到上述的技术效果,本专利技术采取以下技术方案:基于OpenCV技术的票据分割方法,包括以下步骤:步骤一:对扫描件图片进行图片预处理,所述预处理包括对扫描件图片内容的去噪处理和二值化处理,所述去噪处理包括双边滤波、中值滤波进行平滑,所述二值化处理,具体为先获取图片的灰度图内容,然后再根据合理的阈值进行二值化处理;步骤二:利用Canny算子对扫描件进行边缘检测,得到票据在整个图片的中的票据边缘线,然后根据票据边缘线计算得到其最小外部矩形;步骤三:根据检测到的票据边缘线和其最小外部矩形,利用Opencv中的仿射变换函数分割出单张票据。基于OpenCV技术的票据分割方法,其大致原理是:通过opencv实现自动分割票据,由于处理的票据都是彩色图片,在进行矫正之前需要先进行票据图片的预处理,然后通过边缘检测算法提取出票据的轮廓信息即票据边缘线,再基于票据边缘线计算出其最小外部矩形;最后利用基于矩形顶点的仿射变换得到单张票据。Opencv(OpenSourceComputerVisionLibrary)是一个基于BSD许可发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。边缘(edge)是指图像局部强度变化最显著的部分。主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础。为了将票据从背景中识别出来,我们需要用到边缘检测,其中常见的边缘检测算法有:Sobel算子、Roberts算子、Prewitt算子、Laplacian算子、Canny算子。其中Soble算子不能将图像主题和北京严格地分开,Roberts算法对边缘定位的精度不是很高,Prewitt算子对噪声有抑制作用,但边缘检测精度仍然不够;Laplacian算子因为采用的是二阶导数,所以该算子对噪声具有无法接受的敏感性;而在本专利技术中所采用Canny算子在抑制噪声,和边缘检测精度都有较好的效果。进一步的技术方案是:在步骤二中采用Canny边缘检测得到边缘信息点,再利用多边形拟合算法对边缘拟合,得到较为完整的边缘信息。进一步的技术方案是:采用函数boundingRect(args..)对拟合后的边缘计算得一个完整的矩形框,即最小外部矩形。本专利技术与现有技术相比,具有以下的有益效果:传统的图片分割技术只是通过检测目标图像的边缘,然后利用抠图技术将目标区域提取出来即可,该过程并不需要考虑角度问题。票据图像分割却恰恰相反,不仅要求准确地根据边缘提取出票据,还需要票据能够“方正”。从业务角度考虑,在分割票据时,我们就需要计算出两个重要信息:边缘信息,角度信息。以往的票据分割技术先利用边缘信息提取出感兴趣区域,然后根据角度信息对提取出的图像进行一个角度的旋转,最后才得到我们想要图像。本专利技术所提出的方法则只需要边缘信息就可以完成上述过程,不仅节省了计算资源,还提升了票据处理的速度。附图说明图1是本专利技术的票据分割流程图;图2是扫描件效果图;图3是预处理去噪效果图;图4是预处理二值化效果图;图5是扫描件中票据边缘检测效果图;图6是扫描件中票据边缘的最小外部矩形效果图;图7是最小外部矩形进行仿射变换示意图;图8是切割后的票据效果图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。实施例:参考图1,基于OpenCV技术的票据分割方法,包括以下步骤:步骤一:对扫描件图片进行图片预处理,该部分包括对扫描件图片内容的a.去噪处理,包括双边滤波、中值滤波进行平滑;b.二值化处理,具体为先获取图片的灰度图内容,然后再根据合理的阈值进行二值化处理;步骤二:利用Canny算子对扫描件进行边缘检测,得到票据在整个图片的中的位置(图5边缘线),然后根据边缘计算得到其最小外部矩形(图6边缘线);步骤三:根据检测到的票据边缘和边缘的最小外部矩形,我们利用Opencv中的仿射变换函数分割出单张票据,从而更有利于后面对票据进行OCR识别处理。以下作更详细的阐述:OpenCV作为在图像处理领域广泛应用的开源软件库,提供了大量可直接使用的图像处理基本方法,如去噪、变换、二值化等,这样我们就不用对每个基础算法都进行本地实现,不仅节约了开发效率,也能保证较高的准确性。基本上我们常用的图像处理算法都能在OpenCV中找到对应的方法,并按照规定格式输入图像、参数,就可以得到我们想要的结果。在该票据分割方法中涉及到图像处理技术均是采用OpenCV进行实现。本技术的实现流程大致可分为两个基本部分:先对输入图像进行预处理、如去噪、规则化等,这是图像处理领域不可缺少的一个步骤,然后再利用我们核心方法对图像进行处理,最后得到想要的结果。具体如下:1.图片预处理;参考图2-图4,该部分包括对扫描件图片内容的去噪平滑、灰度化、二值化。具体采用了双边滤波、中值滤波,这两种预处理滤波方式在图像预处理中较为常见,并且效果较好,所以不过多赘述,直接采用OpenCV图像处理库中函数bilateralFilter(args..)、medianBlur(args..)进行实现。2.扫描件中票据边缘检测;参考图5和图6,该部分包括边缘检测和最小外部矩形。边缘检测算法种类繁多,各有优缺点,其中Canny算法具有明显的优势,并得到广泛应用,这里采用OpenCV中函数Canny(args..)即可。得到边缘信息点,再利用多边形拟合算法approxPolyDP(args..)对边缘拟合,以得到较为完整的边缘信息,此本文档来自技高网...
基于OpenCV技术的票据分割方法

【技术保护点】
基于OpenCV技术的票据分割方法,其特征在于,包括以下步骤:步骤一:对扫描件图片进行图片预处理,所述预处理包括对扫描件图片内容的去噪处理和二值化处理,所述去噪处理包括双边滤波、中值滤波进行平滑,所述二值化处理,具体为先获取图片的灰度图内容,然后再根据合理的阈值进行二值化处理;步骤二:利用Canny算子对扫描件进行边缘检测,得到票据在整个图片的中的票据边缘线,然后根据票据边缘线计算得到其最小外部矩形;步骤三:根据检测到的票据边缘线和其最小外部矩形,利用Opencv中的仿射变换函数分割出单张票据。

【技术特征摘要】
1.基于OpenCV技术的票据分割方法,其特征在于,包括以下步骤:步骤一:对扫描件图片进行图片预处理,所述预处理包括对扫描件图片内容的去噪处理和二值化处理,所述去噪处理包括双边滤波、中值滤波进行平滑,所述二值化处理,具体为先获取图片的灰度图内容,然后再根据合理的阈值进行二值化处理;步骤二:利用Canny算子对扫描件进行边缘检测,得到票据在整个图片的中的票据边缘线,然后根据票据边缘线计算得到其最小外部矩形;步骤三:根据检测到...

【专利技术属性】
技术研发人员:刘东李波岳永胜
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1