基于两点法的医疗化验单倾斜校正算法*

贾智彬吕学强何 健董志安

(1.北京信息科技大学网络文化与数字传播重点实验室 北京 100101)(2.北京洛奇智慧医疗科技有限公司 北京 100015)(3.清华大学互联网产业研究院 北京 100084)

随着深度学习[1~2]的广泛应用,医疗OCR[3~4](Optical Character Recognition,光学字符识别)已经成为医疗领域重要的研究话题。在医疗化验单识别的过程中,由于拍照的角度不同往往会导致图像内容产生一定的倾斜,而内容的倾斜对图像的文字识别影响非常大,所以在一个化验单识别系统的预处理阶段,图像内容的倾斜校正往往是非常重要的部分。

目前对于医疗化验单图像的校正并没有专门提出或改进的算法,大多数还是使用一些通用的校正方法,例如基于Hough变换的方法[5~7],基于投影的方法[8],基于K-最近邻簇方法[9~10]。基于Hough变换是一种快速的形状匹配技术,经过Ballard D.H[11]的推广,虽然其可以检测任意形状,很好地扩展了该算法的应用[12~13],但该方法的计算量还是比较大。基于投影的方法是通过投影图像的某些统计特性来求得其倾斜角,但由于需要对整个图像统计特征值,因此计算量和复杂度都比较高。而K-最近邻簇方法是找出所有联通中心的K个最邻近点,计算每对近邻的矢量方向并统计生成直方图,其峰值对应着整幅图像的倾角,但因整幅图像中联通成分较多,比较耗时。

由于医疗化验单版面复杂,例如化验单中文字的字体和字号多样性且文字分布可能密集或零散,使得以上的方法对于医疗化验单的倾斜校正效果不明显。本文在曾凡锋[14]等所提出的在文本子区域上进行检测以及李庆峰[15]所使用的两点法的基础上,提出了一种快速的化验单图像倾斜校正算法,通过找到其图像中的某一条直线的左右端点,然后计算其直线的倾斜角度,大大提高了校正的速度和准确性。

提出的方法运用两点法的基本思想,即已知直线上不同两点的坐标,那么就可以求得这条直线的斜率,进而即可确定直线的倾斜角度。本文算法是基于两个前提和一个假设下完成的。

前提1:化验单中至少含有一条贯彻版面的线段,该线段可以是化验单中表格的边;

前提2:化验单的整体形状为矩形。

假设1:斜线被切分成无穷多份后,每一份可以看成是一条直线,即斜线是由局部的直线组成的。

以往的方法一般是通过在图像的整体上进行倾斜角度的计算,例如计算整体边框的倾斜度,但现实中往往会存在一些图像边框倾斜,但其内容并没倾斜,由于化验单倾斜校正的主要目的是校正内容,若要按照之前提出的算法来校正,肯定会出现错误校正的情况,而本文提出的方法将直接在化验单内容部分中进行校正。

通过对大量倾斜图像的研究分析发现,如果能够确定斜线左侧起点坐标L(x,y)以及斜线右侧结束点坐标R(x,y),就可以求出两点之间的位移差a=imgR.y-imgL.y,偏移量b=|imgRx-imgLx|,再利用勾股定理,a2+b2=c2,计算直角三角形斜边长度,之后即可通过求角式(1)可计算出倾斜的角度。

通过对大量的二值化后的化验单图片研究分析发现,可以利用像素最小求和的方法来确定图片中的内容区域,从而检测到图片中斜线的位置信息及坐标,然后根据勾股定理及求角公式完成倾斜角度的求解。

为了尽量使每份近似于直线,需要将二值化图像按固定像素等份切分为img={img1,img2,…,imgn},而这个固定的像素将在很大的程度上决定该算法的好坏。切分之后,原图中的“斜线”片段变成了子图中的“直线”,然后利用选择子图的位置i(1≤i≤n)以及切分的宽度,找到子图的直线横坐标。可以利用行像素点最小求和方法,找到子图中纵坐标。取img左侧某个子图imgL坐标为(x,y),取右侧某个子图imgR坐标为(x,y),根据imgL,imgR的坐标即可计算出倾斜的角度,再根据求出角度的正负值进行偏移校对,即可完成校验,具体实现步骤如图1所示。

图1 图像校正流程图

1)在进行二值化之前需要将图片中的背景去除,然后在去完背景的图像上进行二值化处理,本文使用的是全局阈值法[16]。将图像由3通道转化为2通道,像素点的灰度值设置为0或255,其中0代表黑色像素点,255代表白色像素点。可以根据0和255提取图像中的信息,二值图像在进行图像处理时增加提高处理的效率。

2)为了尽可能地将倾斜的横线切分成多份直线,需要根据不同的化验单种类,确定其合适的切割宽度,切分整个化验单图像的固定宽度在很大程度上决定了算法的优越性。从理论上讲,其宽度越小,切分出的线段越接近直线,效果应该越好,但如果切割宽度和化验单中的文字大小一样,反而降低校正效果。在本类化验单中,一个文字的像素为20像素,通过实验得,宽度在22像素左右时分割效果最佳。在确定好切割宽度后,就可以将化验单按照每小份22像素进行切割,共分为n份,然后根据img的宽度将图片平均分成两个集合,即imgL、imgR,其中mid=img.width/2;
根据式(2)对imgn进行集合划分。划分之后,从imgL、imgR集合中分别取出子图imgL(i),imgR(j),通过计算imgL(i),imgR(j)的偏移量以及位移差,由此即可计算出对应的img的倾斜角度。

3)通过使用最小求和公式计算imgL矩阵中每一行像素之和,之后通过位置信息进行排序,即根据式(3)可以找到第一条直线的位置,能够找到imgL图像中直线的y坐标信息。根据所选取imgL的位置信息计算imgL中的x坐标信息,即imgLx=i*22。利用上述方法同样可以计算出imgR的(x,y)坐标。

4)通过步骤3可以计算出imgL、imgR的坐标,再通过计算偏移量、位移差即可计算img倾斜角度。如果img存在倾斜,则偏移量不等于0,即imgR.x-imgL.x≠0。已知imgL、imgR两点坐标,即可求出偏移量和位移差,再利用三角形勾股定理可计算出斜边c的长度,如图2所示,再根据式(1),即可计算倾斜角度。之后根据a的取值判断倾斜角度旋转的方向,如果a大于0,则向图片上旋转;
如果a小于0,则向下旋转;
如果a=0,则图片不旋转。

图2 求角示例图

5)为使img倾斜角度计算的更精确,从imgL集合中取一个子图,imgR集合中取5个子图合并组成五组数据,如图3所示。利用式(1),计算每一组倾斜角度,再根据式(4)计算img的平均倾斜角度,其中n=5。

图3 对子图进行分组

经过以上五步校正之后,可以将化验单内容倾斜的图像校正成功,图4为原始图片,图5为校正过的图片。

图4 未校正的图像

图5 校正后图像

为验证本文算法的效果,在此与传统的Hough变换和投影法进行比较。实验数据采用了50张类似于图5的化验单进行了实验,将这些图像以一定的角度为间隔进行旋转。

每张图像生成6种不同的倾斜样本图像,共生成300张测试图像。将三个方法分别对这些化验单进行倾斜校正,然后对这些结果进行比较,校正结果如图6所示。

图6(a)展示的是运用上述的一张化验单的原图,而这张原图有个很大的特点就是化验单里的内容是倾斜的,而图片本身水平,而这样的化验单在实际中并不是少数。图6(b)展示的是旋转10°后得到的化验单,图6(c)、图6(d)分别是通过Hough变换法、投影法得到的校正后的图像。通过这三幅图像可知,Hough变换法和投影法可以很好地将化验单的边框由倾斜校正水平,但这并没有将内容校正水平,而图6(e)展示的是通过本文算法得到的校正后图像,可以看出其化验单里的内容得到了明显的校正,并不在是化验单本身进行校正。

图6 校正结果

表1对Hough变换法、投影法与本文方法进行了对比分析,从每张的处理时间上来看,本文的处理时间最短,与其他两种方法的速度相比得到了提高。而从平均误差来看,本文算法的平均误差在这三类算法中是最大的,这是因为本文算法检测是表单里的直线,而有的直线在原化验单中是倾斜的,虽然旋转一定角度得到测试图像,但其实这些直线并没有真正旋转到该角度,这会导致本文算法的平均误差较大。准确率是指经过算法倾斜校正后文字内容没有倾斜的图像与参与测试的所有样本数之比,从表中可以看出,本文提出的方法的准确率最高,达到了94.6%。这是因为Hough变换和投影法对化验单这种比较复杂图像的适应度比较差,而本文算法直接针对化验单的内容进行倾斜校正,从而排除了图像中非内容部分的干扰,所以准确率较高。可见,本文所提出的算法与传统的Hough变换法和投影法来说,在对化验单进行倾斜校正的情况下,既提高了校正的精度,又减少了算法的执行时间。

表1 各方法对比分析

本文提出的算法可以进一步应用于其图像中至少有一条易于检测到的直线,首先需要确定合适的固定宽度,然后根据本文所提出的算法,得到直线的左右端点的坐标,再求出其倾斜度,即可通过旋转得到其校正后的图像。

如图7所示,这是一张来自其他医院去完背景的化验单图像,通过图像可以看出其原图存在一定程度的倾斜,通过观察可以得出图像满足上述提到的前提条件1、2,根据上述算法思想,先求出其平均倾斜角度值,最后再对原图进行旋转即可得到校正后的图像,结果如图8所示。

图7 未校正的图像

图8 校正后的图像

对于化验单这种比较复杂的图像来说,该类图像通常由表头,检验项内容和表尾三部分组成,所以对其文本行进行分析往往会受到表格或多或少的影响。本文结合化验单的基本特征,利用两点法的基本思想,从而计算出其图像的倾斜角度,达到校正图像的效果。实验表明,本文提出的方法提高了校正的速度和对化验单这种比较复杂图像校正的正确率,达到项目使用要求。

但目前本文提出的算法还需要对不同种类的化验单进行不同的特征分析,需要确定合适的分割宽度,这是本算法需要改进的地方。另外,对于倾斜角过大的图像,其算法的正确率也会大大降低,仍然需要结合其他方法进行综合处理。

猜你喜欢 化验单子图校正 关于2树子图的一些性质黑龙江科学(2021年14期)2021-08-06劉光第《南旋記》校正国学(2020年1期)2020-06-29检验科微生物污染状况调查及化验单消毒方法比较健康大视野(2019年18期)2019-10-30临界完全图Ramsey数同济大学学报(自然科学版)(2019年2期)2019-04-02不含3K1和K1+C4为导出子图的图色数上界∗计算机与数字工程(2019年3期)2019-03-26建立在校正系统上的强大实力Sonance所能士i12家庭影院技术(2018年11期)2019-01-21在Lightroom中校正镜头与透视畸变摄影之友(影像视觉)(2017年10期)2017-11-07机内校正摄影之友(影像视觉)(2017年1期)2017-07-18命若游丝特别文摘(2017年2期)2017-01-24化验单唐山文学(2015年1期)2015-11-17

推荐访问:化验单 校正 倾斜