目标
对一张拍照得到的医疗化验单(如血常规),识别出里面的内容。
原始图片:
处理过程
旋转矫正
即使很仔细的对准,图片仍然可能会有一些角度,需要旋转调整。
旋转后的图片:
找到body/header
只有找到内容的body和header,才能有针对性的进行处理。body一般是一列一列数据,而header可能是检验者的信息。
body:
header:
垂直投影分析,筛选出有内容的列
每一列都是特定的数据,比如序号、化验项内容、化验结果、参考值等。
某一列:
对每一列,找到文字区域
和
OCR,得到结果
以上面2个为例,结果分别是:”肌酸激酶(CK)”和”尿酸(UA)”;
展望
- 图片的倾斜经常是三维上的,所以需要透视矫正。这个地方可以参考Google的PhotoScan软件。
- 需要识别图片是不是化验单;这块可以用机器学习实现。
- 识别化验单的种类;不知道机器学习实现起来效果如何,也可以用关键字匹配。
- 对于有多个竖直区域的化验单,还需要更细致的处理,比如下面这张: