AOE工程实践-银行卡OCR里的图像处理
AOE工程实践-银行卡OCR里的图像处理 作者:杨科 近期我们开发了一个银行卡 OCR 项目。需求是用手机对着银行卡拍摄以后,通过推理,可以识别出卡片上的卡号。 工程开发过程中,我们发现手机拍摄以后的图像,并不能满足模型的输入要求。以 Android 为例,从摄像头获取到的预览图像是带 90 度旋转的 NV21 格式的图片,而我们的模型要求的输入,只需要卡片区域这一块的图像,并且需要转成固定尺寸的 BGR 格式。所以在图像输入到模型之前,我们需要对采集到的图像做图像处理,如下图所示: 在开发的过程中,我们对 YUV 图像格式和 libyuv 进行了研究,也积累了一些经验。 下文我们结合银行卡 OCR 项目,讲一讲里面涉及到的一些基础知识: 什么是YUV格式 如何对YUV图像进行裁剪 如何对YUV图像进行旋转 图像处理中的Stride 如何进行缩放和格式转换 libyuv的使用 想要对采集到的YUV格式的图像进行处理,首先我们需要了解什么是 YUV 格式。 什么是YUV格式 YUV 是一种颜色编码方法,YUV,分为三个分量: “Y” 表示明亮度(Luminance或Luma),也就是灰度...
