毕业设计中期报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业设计(论文)中期报告题目:病例识别系统实现
院(系)计算机科学与技术学院
专业计算机科学与技术
学生林陶然
学号 1
班号 1203106
指导教师张英涛
中期报告日期2016年4月25日
哈尔滨工业大学教务处制
2016年4月
目录
一.工作完成情况-----------------------------------------------------1 二.已完成的研究工作及结果-------------------------------------------1 三.目前存在的问题及解决方法-----------------------------------------5 四.后期拟完成的研究工作及进度安排-----------------------------------5 五.参考文献---------------------------------------------------------6
一、工作完成情况
经过为期一个多月的学习研究以及不断的寻求解决问题的办法,我很好地处理了通过手机拍摄的医疗表单图像,完成了对于图像的灰度处理,二值化处理,倾斜校正,去除杂质处理之后,终于将其中的关键数据分行分列的从图片中分割出来,最后将分好的每一个小块部分进行处理,获得了单个的字符,以便我以后将要进行的字符识别工作。

二、已完成的研究工作及结果
1. 对图像的预处理过程
对图像的预处理过程包括图像增强,灰度化,和二值化过程,中值滤波,倾斜校正等等。

在图像进行灰度化处理之前,由于光线环境等等问题,首先对图片进行一次自动增强操作。

调用了autoenhance() 函数,根据预先设定的效果范围来调整图像的亮度,颜色和对比度。

对图像的灰度化处理则直接使用matlab中现有的灰度图转化函数rgb2gray()即可。

关于这个函数的具体内容在此就不再赘述。

可以在matlab中查看。

而二值化方法的选择就显得尤为要,很大程度上影响了后续的分行分列的字符提取效果。

这里我一开始采用的迭代二值化的处理方法,并发现了一些问题。

由于拍照的光线不均,决定以后将采用自适应阈值法。

1.1中值滤波
Matlab中有现成的medfilt2()中值滤波函数可供调用。

在此简述一下他的实现过程和作用。

中值滤波的基本原理就是把一点的值用规定的该点对应的一个邻域中各点值的中值来代替。

本人所采用的是[3*3]的窗口大小。

(1)将模板中心与像素点重合;
(2)读取模板中各对应像素的值;
(3)将这些灰度值由小至大排列;
(4)取中值代替该像素点的值。

中值滤波对孤立的噪声像素即椒盐噪声、脉冲噪声具有良好的滤波效果。

对于本系统来说,它消除杂点有很好的效果。

(1)选择一个初始的阈值T,T的取值方法很简单,整张图片的最高灰度值和最低灰度值之和的一半;
(2)将新的阈值TT赋值为0,并设置一个范围为allow,d=|T-TT|;
(3)遍历整张图片,将灰度值大于T的点的灰度值作和并除以个数得到平均值T0,同理,将灰度值小于T的点作处理得到T1;将T0与T1作平均得到TT,d=|T-TT|。

将TT的值赋给T
(4)如果d的值大于等于预先设置的范围allow,就重复进行(3)的过程直至最后得到一个新的迭代阈值T。

根据这个T将图片二值化。

(1)处理结果:
可以看到这种二值化的整体效果很好,但是部分文字有笔画丢失的现象,而且对于光照不均的图像将会产生很多的误差点。

如下图
(2)产生误差的原因:迭代化的二值化方法是对整张图像的所有像素点的像素值都基于设定的范围作了平均化操作,然而对于光照不均的图像,每一个区域的阈值的allow值都应该有所不同,而迭代化二值化方法无法做到所以产生了误差。

而且对于不同的图片要自己选取合适的allow值,不够智能。

1.3对图像的倾斜校正
通过对图像的倾斜校正可以使二值化之后的图像极方便地就能获得后续的水平和垂直投影,进而使对整个图像的分块和每块中单个字符的分割变得准确而又简单。

(1)设定参数,并以此参数对二值化后的图像进行膨胀过程
(2)对膨胀后的图像进行数学形态学运算bwmorph(BW,'thin',Inf),其中thin 表示操作为细化,Inf则表示将一直对图像作同样的形态学处理直至不再发生变化。

通过这步操作可以将图像缩成连通线。

(3)通过霍夫函数拟合出细化图片中的直线,并计算这条直线的斜率,转化为旋转角,对图片进行旋转。

即得到了倾斜校正之后的图像。

1.3.2 倾斜校正的结果与分析
可以看到通过倾斜校正,图片变成了我们熟悉的文档格式,有着水平的行和垂直的列,下面将通过水平和垂直的投影,来将每一行每一列的信息分割出来。

1.4开运算排除干扰点
倾斜校正之后的图像我们可以看到还有很多的干扰点,通过开运算函数
bwareaopen()可以排除图像中的干扰点使分割处理更加准确。

下图为开运算的处理效果:
2.对图像的分割处理
由于医疗表单数据通常都是行列分明而且有着统一的格式,字与字之间都是对齐而且有间距的,通过行分割与列分割,将图像分为对应的小块,再将每一块中的字符进行识别,就可以直接将行与列的信息与以后要输出的excel表格关联起来,很便捷。

2.1对图像的行分割与列分割
在进行行分割与列分割,先要对图片的水平和垂直分量进行投影操作,通过观察投影的波形图,我们可以清楚地看到每行每列的位置与投影的波谷的对应关系。

2.1.1 水平与垂直投影过程与效果
水平(垂直)投影的获取过程很简单,先获取图像的纵(横)坐标范围,在这个大小范围内,对每一行(列)的像素值进行累加。

可以看到,上图有13行,而水平投影曲线中有13个零点,是互相对应的。

下面将以行分割为例,介绍图像分块的过程。

数组H,J分别用于保存一行的起点与结束点。

对于x坐标由i到图像的高度M遍历,如果有水平投影值由0变为非0,则将i的值赋给一个起始点H(j),如果有水平投影值由非0变为0,则将i的值赋给一个结束点J(j),并且执行j+1,表示一对起点终点已经成功记录。

(即j表示第j个起始点与第j个结束点)
于是就可以得到行切割矩阵rect{i}=[0,H(i),N,J(i)-H(i)];即宽度不变,将每个行起点到行终点的部分截取下来,获得逐行的图像。

切割的结果如下:可以看到结果是非常成功的。

同理,对于分割出来的每一行和之前得到的垂直投影,可以将每一行中的每一列分割出来,这样就得到了一块一块的图像。

结果如下:
2.2对每块图像的字符分割
只要对之前的代码稍作修改,从对整张图变作对每一块进行一次垂直投影,并进行列分割,重复这个过程,直到全部的块都分割完毕,我们就得到了一个一个字符的图片。

在这个过程中,还可以对分好的小块进行筛选,通过设置一个阈值limit来筛掉没有字符的块。

下图是对上图例子中第九块分块的处理结果,可以看到一个一个的字符已经被分割出来。

三、目前存在的问题及解决方法
(1)首先是我采用的迭代二值化的方法还不足以应付所有条件下拍摄的照片。

在面对部分效果不好的照片时,会有很多的干扰和误差。

解决方法:学习自适应阈值的二值化方法来对图像进行二值化,代替目前所有的二值化方法。

(2)在开运算去除杂点之后,有些数据的小数点也被过滤掉了。

解决方法:在后面识别数据并进行导出时,如果同一块内两个数字之间的留空太大,则说明此处原有小数点,应该补上。

(3)分割出来的每个字符在水平上还有很多的空间没有切割。

解决方法:对每一块使用之前的行分割过程去掉多余的部分来让字符匹配更加快速且准确。

(4)由于医疗数据格式的不规律性,分割出来的块中有很多是没有信息的无效块。

解决方法:加入一个筛选过程,筛掉有效像素点百分比在h以下的点。

就可以留下只有信息的点。

四、后期拟完成的研究工作及进度安排
1. 后期工作内容
学习字符识别算法,将分割出来的字符分割图片最终转化为文档中的文字。

预计的方法是先对每个字符的图片进行细化还原,再统一化为与模板统一的格式,与模板进行匹配对比,得到正确的文字。

数字和字母以及字符的识别部分准备在中期答辩之后自己独立完成,研究已有的算法加以改进并实现。

汉字的部分过于复杂,也会进行一定的尝试,如果时间不够的话可能会采用现已有的优秀方法进行识别。

在成功识别出字符之后,会根据之前对图片中蕴含的数据所进行的分行分列操作,将这些文字输出到excel表格中的对应的位置。

根据对大量的医疗图片进行试验所得到的结果进行准确性与效率的调整,优化代码,使整个系统的实用性提高,同时保证提取出来的数据的准确性和有效性。

附加工作:因为这个系统最后是要应用于手机之上的,撰写完毕业论文之后的时间会用来改进代码,并将之转化为C语音程序,用于手机上JAVA语言的调用。

2. 进度安排
中期 - 2016-05-15:两周多一点的时间用来完成字符的匹配与识别;
2016-05-15 - 2016-05-31:做更多的实验,遇到问题及时纠正,算法及代码的优化和改进;同时开始毕业论文的撰写。

2012-06-01 - 结题:完成毕业论文的撰写,总结项目中的经验和教训。

空余时间尝试代码的移植。

四、参考文献
①车牌识别系统中字符分割的研究与实现,马婉婕,复旦大学,计算机系统结构, 2009,硕士
②利用Hough变换和先验知识的车牌字符分割算法,张云刚;张长水;计算机学报 , Chinese Journal of Computers, 2004年01期
③几种文本图像二值化方法的对比分析,童立靖;张艳;舒巍;占国亮;钱垚;北方工业大学学报 , Journal of North China University of Technology, 2011年01期
④不均匀光照文本图像的二值化,贺志明;上海工程技术大学学报 , Journal of Shanghai University of Engineering Science, 2011年02期。

⑤车牌识别系统中的牌照定位及倾斜校正技术研究,贡丽霞,中北大学,应用数学,2010,硕士
⑥基于Hough变换的列车客运票图像倾斜校正,梁添才;皮佑国;彭晶;朱朝华华,南理工大学学报(自然科学版) , Journal of South China University of Technology(Natural Science Edition),2007年05期
⑦基于内容的文档图像倾斜校正, 吕亚军;陈继荣;鹿晓亮,计算机仿
真?,Computer Simulation,?2006年12期?
⑧基于自适应阈值区间的广义Hough变换图形识别算法,?宋晓宇;袁帅;郭寒冰;刘继飞;学术论文(2014年05期)
指导教师评语:
指导教师签字:检查日期:。

相关文档
最新文档