(附完整python源码)基于tensorflow、opencv的入门案例_发票识别二:字符分割
发布时间:2018-05-14 20:16,
浏览次数:1201
, 标签:
python
tensorflow
opencv
发票识别二
1.imread读入“发票代码区域”或者“发票号码码区域”;
2.调整高度,直方图均衡化,形态学,阈值分割。颜色反转:文字置为白色,背景置为黑色;
3.获取目标区域的最小外接矩形。消除被包围的轮廓,消除不合理尺寸的矩形;
4.为了便于后期输入到cnn网络,将图像设置为28×28,不拉伸,全0填充(仿射变换—平移缩放),保存并排序;
5.通过SVM判断矩形框内的图片是否数字,按从左到右顺序保存序列数字。
6.分割完毕,使用一个简单cnn模型逐个识别即可。(见发票识别三)
#encoding:utf-8 import cv2 import numpy as np import util_funs
#将img的高度调整为28,先后对图像进行如下操作:直方图均衡化,形态学,阈值分割 def pre_treat(img): height_ = 28
ratio_ = float(img.shape[1])/float(img.shape[0]) gray = cv2.cvtColor(img,
cv2.COLOR_BGR2GRAY) gray = cv2.resize(gray,(int(ratio_*height_),height_))