OCR证件识别开发介绍_行驶证识别(基于开源的OpenCV的.net版EmguCV+Tesseract技术)

C# OCR EmguCV开发的行驶证-证件识别

OCR证件识别介绍_行驶证识别

该OCR证件识别程序基于开源的OpenCV的.net版EmguCV+Tesseract实现,服务端OCR主程序接收来自移动端的图片作为参数,将识别结果以Json格式返回到移动端。支持离线、及云部署。

下面看最终效果图:正确率基本达到90%以上,具体需要看照片清晰度OCR证件识别开发介绍_行驶证识别(基于开源的OpenCV的.net版EmguCV+Tesseract技术)
下面介绍开发思路

一、手机拍照

本次开发没有添加自动识别证件区域的功能,考虑后期加上,因为使用大公司识别软件时发现,自动获取证件区域可能耗时比较长,尤其是在光照条件复杂、背景复杂情况下的自动区图效果不佳。故而使用拍照加手动调节区域的方式,如下图
OCR证件识别开发介绍_行驶证识别(基于开源的OpenCV的.net版EmguCV+Tesseract技术)
OCR证件识别开发介绍_行驶证识别(基于开源的OpenCV的.net版EmguCV+Tesseract技术)

二、清洗图片

1.将图像灰度化处理
2.由于图片光线拍照反光等问题,需要对图像进行增加并锐化处理
3.将图像转为二值化图像,这里有个问题是需要进行局部二值化处理,不能使用全局二值化,因为整张图片可能会有部分区域偏亮偏暗,所以我采用了局部图像的中值计算得到的效果会比较好,网上有算法
4.图像滤波去杂,由于图像背景线条复杂,二值化可能不能被去除干净,需要另写算法将图像中的杂点去除,主要是逐点扫描

经过以上步骤能得到较为清晰的二值图:OCR证件识别开发介绍_行驶证识别(基于开源的OpenCV的.net版EmguCV+Tesseract技术)

三、Tesseract开源图像识别

Tesseract4.0后支持双识别引擎:Lstm深度学习的识别引擎+传统引擎。这样能够使得未训练情况下也能得到较高的识别度

四、得到识别结果

OCR证件识别开发介绍_行驶证识别(基于开源的OpenCV的.net版EmguCV+Tesseract技术)

文章中的行驶证来自网络。技术合作Tel:15896486660(施)