一种医疗单据相片的倾斜程度判断方法与流程

文档序号:11729805阅读:202来源:国知局

本发明涉及医疗技术领域,具体涉及一种医疗单据相片的倾斜程度判断方法。



背景技术:

目前医疗大数据的方向都是想从医院端获取数据,但是这条路崎岖坎坷。因为以下几个方面原因导致医院不愿也无法实现医疗数据连入互联网。

(1)管理问题

因为医患纠纷现况非常严重,任何有可能引起医患纠纷的因素,医院都不愿意推进;另外,医院数据接入互联网后,带来的安全问题和信息管理问题等等,这都给医院的管理工作添加无数的问题。

(2)经济利益

我国医院面临这样尴尬的局面,基本都是靠各种检查和医药来赚钱。如果彼此之间联通数据,在a医院拍照,能够在b医院进行诊疗,对于b医院来说,只能赚取微薄的诊疗费。所以从经济调度,医院彼此之间不愿意共享数据;正是由于此原因,医疗费用一直就处于居高不下的状况。

(3)技术原因

由于我国医院信息化系统由不同厂家研发,缺乏统一标准;或是因为标准过于复杂,每个厂家都无法完全实现标准的规定,导致数据无法实现互通。也有每家医院都有自己独特的业务流程,在研发过程中过于坚持医院自有流程,无法实现标准路径,导致医院信息化流程缺乏共同,也导致数据无法流通,形成医院信息孤岛。因此,即使医院愿意接入互联网,涉及的系统改造费用也是一个天文数字。

为了解决医院信息化中的困境,本项目从另一个方向来实现医疗数据进入互联网,本项目依托目前最前沿的计算机视觉技术,从患者端来获取医疗数据,构成医疗大数据的直接来源。患者可以利用手机对自己的各种医疗单据进行拍照,上传到云端。通过计算机视觉技术将医疗数据提取出来,并转换为标准术语,并将信息分类归并进行保存。通过数据挖掘技术,建立数据之间关联关系,提供医疗大数据服务。可以有效解决医院利益纠葛和信息孤岛的困境。

在目前的医疗数据采集中,与医院信息系统的数据对接是常见方式,但也面临很多困难。也可以让患者对医疗单据用智能手机拍照,并运用ocr技术来采集数据。但是ocr技术对于要识别的照片要求很高。如拍照时照片中的汉字不正,会严重影响识别效果。

基于上述弊端,本文提出了一种方法来判定所拍的照片上的汉字是否倾斜度比较小。识别之前对照片做一定的预判断,可以提高识别的准确率。



技术实现要素:

本发明克服了上述的缺点,本发明的目的是提供一种医疗单据相片的倾斜程度判断方法,具体包括以下步骤:

1)对照片缩小,以减少计算量;

2)对照片进行灰度化;

3)利用双边滤波器算法过滤噪点;因为医疗单据的色彩比较单一,采用双边滤波器算法好过于高斯滤波器算法。

4)采用candy算子边缘检测,获取跨度最大,长度最长的边,取其端点,确定化验单的四边。

canny算子边缘检测是由canny提出的特征综合方法。首先标记出所有由最小尺度算子得到的突出边缘。而整个canny边缘检测器算法分成如下二步:

4.1)噪声去除。因为这个检测器用到了微分算子,所以对于局部的不连续是敏感的,某区域的噪声点很容易造成边缘的模糊。在这个方法里,因为要检测的是照片的边缘,而照片的背景是比较规则的变形后的正方形方格,所以如果用常用的高斯滤波器,会造成整个图像都变成一种颜色,即全黑或者全白。因此如果换一种观点,把这些变形后的方格也看成图的一部分,因为字体的纹理和方格的纹理不同,所以可以看作是两种区域组合成的图像。由此改用一般的镜子,增强图像边缘。

4.2)计算图像的边缘梯度。这个是常规运算,用了sobel算子,分别计算图像的x和y方向的梯度值,最后计算出图像各点的梯度值以及梯度角。计算得到梯度角需要进行近似,近似四个值{-45(或135),0,45,90}。非最大梯度值点抑制第2步计算后得到两组值,第一组是各点的梯度值,第二组是各点梯度角的近似值。这一个非最大梯度值点抑制是比较不好理解的一步。遍历各点,做如下操作。

a如果该点(x,y)的梯度角是0,如果其梯度值比北(x-1,y)和南(x+1,y)的梯度值大,则认为(x,y)点是一个边缘点,否则抑制其值,该其梯度值为设定的背景值(0或255);

b如果该点(x,y)的梯度角是90,如果其梯度值比西(x,y-1)和东(x,y+1)的梯度值大,则认为(x,y)点是一个边缘点,否则抑制其值,该其梯度值为设定的背景值(0或255);

c如果该点(x,y)的梯度角是135(或-45),如果其梯度值比东北(x-1,y+1)和西南(x+1,y-1)的梯度值大,则认为(x,y)点是一个边缘点,否则抑制其值,该其梯度值为设定的背景值(0或255);

d如果该点(x,y)的梯度角是45,如果其梯度值比西北(x-1,y-1)和东南(x+1,y+1)的梯度值大,则认为(x,y)点是一个边缘点,否则抑制其值,该其梯度值为设定的背景值(0或255)。产生边缘.在第3步里直接用边缘值和背景值对两种图像区域进行了划分。这么做对于图像不同区域像素值区别较大的场合比较方便,计算也快。

5)霍夫变换直线检测

使用霍夫变换直线检测,可以获取直线,将不符合要求的直线去掉(如长度不够),计算线段中心点并获取跨度最大,长度最长的边,取出四边后,如果未能找到其中一边,则以图像边替代,然后求每两条直线的交点,从而确定化验单的四个端点,就能绘制一个不规则矩形。

6)设定一水平参考线;

7)判断四边形的水平线与参考线的夹角是否大于某个角度。经过多次试验,夹角小5°时,能获得比较好的识别效果;

照片四边组成的四边形

参考水平线

8)到此就可以基本确定是不是符合比较平整摆放的化验单;

实现这种判定方法的前提是必须保证整张医疗单据都被手机相头拍下。解决这个问题,可以在手机相头对准医疗单据的时候就不停地判定相头采集到的相片是否已经全部包含医疗单据。因为如果没有全部包含医疗单据的时候,以得到的最长的线条为基准,是无法在所有的线条序列里找到其他的三条边来组成一个四边形;

9)将图像扩大到原始的尺寸,根据需要将图像变换成规则矩形。

本发明医疗单据相片的倾斜程度判断方法中,流程及操作简单,用轻便简单的方法来判定医疗单据的照片是否倾斜,可以用在ocr识别前来对照片进行预处理,判定照片是否具有识别的意义。

附图说明

图1是本发明的一张常见的化验单据图。

具体实施方式

下面结合实施例,对本发明作进一步详细描述。

参见图1是基本上中国的化验单据都是类似的结构。都分成头部、内容、尾部,每个医院的内容可能有区别。但是基本的框架和基本内容都差不多。

从图1的化验单据照片来分析,照片里有很多直线,但是这些直线都没有形成一个四边形。而获取四边形是判定的一个重要基准。所以,我们可以获取整个化验单据的四边来获得四边形。即拍照时必须把整张化验单据全部拍进照片。

要对这样的手机拍出来的医疗单据照片进行准确识别,前面对于照片质量的预判工作是必须的。照片的预判工作可以分成判定照片的清晰程度、照片的阴影是否存在、照片的倾斜程度。本文就是提供一种简单的判定照片倾斜程度的判定方法。

如果医疗单据的照片倾斜程度比较大,那么在后续的识别过程中,会对于分割后的汉字识别带来许多困难。所以,在照片识别之前来判定照片的倾斜程度,可以有效帮助识别的准确度,防止用户使用不规范的照片进行识别。

判定方法的步骤如下:

1)对照片缩小,以减少计算量;

2)对照片进行灰度化;

3)利用双边滤波器算法过滤噪点;因为医疗单据的色彩比较单一,采用双边滤波器算法好过于高斯滤波器算法。

4)采用candy算子边缘检测,获取跨度最大,长度最长的边,取其端点,确定化验单的四边。

canny算子边缘检测是由canny提出的特征综合方法。首先标记出所有由最小尺度算子得到的突出边缘。而整个canny边缘检测器算法分成如下二步:

4.1)噪声去除。因为这个检测器用到了微分算子,所以对于局部的不连续是敏感的,某区域的噪声点很容易造成边缘的模糊。在这个方法里,因为要检测的是照片的边缘,而照片的背景是比较规则的变形后的正方形方格,所以如果用常用的高斯滤波器,会造成整个图像都变成一种颜色,即全黑或者全白。因此如果换一种观点,把这些变形后的方格也看成图的一部分,因为字体的纹理和方格的纹理不同,所以可以看作是两种区域组合成的图像。由此改用一般的镜子,增强图像边缘。

4.2)计算图像的边缘梯度。这个是常规运算,用了sobel算子,分别计算图像的x和y方向的梯度值,最后计算出图像各点的梯度值以及梯度角。计算得到梯度角需要进行近似,近似四个值{-45(或135),0,45,90}。非最大梯度值点抑制第2步计算后得到两组值,第一组是各点的梯度值,第二组是各点梯度角的近似值。这一个非最大梯度值点抑制是比较不好理解的一步。遍历各点,做如下操作。

a如果该点(x,y)的梯度角是0,如果其梯度值比北(x-1,y)和南(x+1,y)的梯度值大,则认为(x,y)点是一个边缘点,否则抑制其值,该其梯度值为设定的背景值(0或255);

b如果该点(x,y)的梯度角是90,如果其梯度值比西(x,y-1)和东(x,y+1)的梯度值大,则认为(x,y)点是一个边缘点,否则抑制其值,该其梯度值为设定的背景值(0或255);

c如果该点(x,y)的梯度角是135(或-45),如果其梯度值比东北(x-1,y+1)和西南(x+1,y-1)的梯度值大,则认为(x,y)点是一个边缘点,否则抑制其值,该其梯度值为设定的背景值(0或255);

d如果该点(x,y)的梯度角是45,如果其梯度值比西北(x-1,y-1)和东南(x+1,y+1)的梯度值大,则认为(x,y)点是一个边缘点,否则抑制其值,该其梯度值为设定的背景值(0或255)。产生边缘.在第3步里直接用边缘值和背景值对两种图像区域进行了划分。这么做对于图像不同区域像素值区别较大的场合比较方便,计算也快。

5)霍夫变换直线检测

使用霍夫变换直线检测,可以获取直线,将不符合要求的直线去掉(如长度不够),计算线段中心点并获取跨度最大,长度最长的边,取出四边后,如果未能找到其中一边,则以图像边替代,然后求每两条直线的交点,从而确定化验单的四个端点,就能绘制一个不规则矩形。

6)设定一水平参考线;

7)判断四边形的水平线与参考线的夹角是否大于某个角度。经过多次试验,夹角小5°时,能获得比较好的识别效果;

照片四边组成的四边形

参考水平线

8)到此就可以基本确定是不是符合比较平整摆放的化验单;

实现这种判定方法的前提是必须保证整张医疗单据都被手机相头拍下。解决这个问题,可以在手机相头对准医疗单据的时候就不停地判定相头采集到的相片是否已经全部包含医疗单据。因为如果没有全部包含医疗单据的时候,以得到的最长的线条为基准,是无法在所有的线条序列里找到其他的三条边来组成一个四边形。

9)将图像扩大到原始的尺寸,根据需要将图像变换成规则矩形。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1