OCR基础知识
2.1 二值化
2.1.1 全局阈值方法
- 固定阈值方法
- 2.otsu算法 (ret1, th1 = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)
2.1.2局部阈值方法
1.自适应阈值算法
主要思想:以一个像素点为中心设置大小为s✖️s的滑窗,每次扫描均对窗口内的像素求均值并作为局部阈值,高于t/100,赋值为0;低于t/100,赋值为255
2.Niblack算法
主要思想:窗口内的像素值计算阈值T(x, y) = m(x, y) + ks(x, y)
T(x,y)阈值
m(x,y)均值
s(x,y)方差
K修正系数
与m(x,y)相近的像素点被判定为背景,反之为前景
3.Sauvola算法
对文档二值化
T=m[1+k(s/R-1)]
R是标注方差的动态范围,m可以减小染色、污渍带来的影响
2.1.3深度学习的方法
DIBCO、PLM是两个二值化的数据集
FCN方法
2.2 平滑去噪
2.2.1空间滤波
1.线性滤波器
平滑线性滤波器 img = cv2.blur(img, (5,5))
高斯滤波器 img = cv2.GaussianBlur(img, (5,5),0)
2.非线性空间滤波器
中值滤波 对邻域内的值进行排序,中值作为输出 img = cv2.medianBlur(img, 5)
双边滤波 img = cv2.bilateralFilter(img, 9, 75, 75)
2.2.2小波阈值去噪
2.2.3非局部方法
1.NL-means
2.BM3D(最好用)
2.2.4基于神经网络
1.MLP
2.LLNet
2.3 倾斜角检测和矫正
2.3.1霍夫变换
2.3.2Radon变换
2.3.3基于PCA的方法