OpenCV图像矫正

一、整体矫正

1. 针对边缘比较明显的图片,使用基于轮廓提取的矫正方法。

基本步骤:

1)变为灰度图;

2)Canny边缘检测:

Canny算法的基本思想是寻找一张图片中灰度强度变化最强(梯度方向)的位置;

3)使用 OpenCV 的 findcontours() 提取轮廓(一个轮廓对应一组点集);

4)根据轮廓求最小外包四边形(一个四边形对应四个点坐标);

5)筛选得到的四边形(面积最大、各角接近90°等),存储四个顶点坐标;

6)根据顶点变换得到矫正后的图片。 

2. 针对边缘不明显,但排列相对整齐的文本图片,使用基于霍夫直线探测的矫正方法。

 在这里插入图片描述

基本步骤:

1)变为灰度图;

2)Canny边缘检测;

3)使用 OpenCV 的 HoughLines() 函数检测直线(在极坐标系下用 \theta 和 r 表示);

4)计算倾斜角度的平均值,根据倾斜角度进行变换。

在这里插入图片描述

二、部分矫正

与整体矫正部分相同。

基本步骤:

1)变为灰度图;

2)Canny 边缘检测;

3)轮廓提取;

4)根据轮廓求最小外包矩形;

5)矫正每个矩形(单词)并覆盖原矩形(单词)。

猜你喜欢

转载自blog.csdn.net/qq_40206924/article/details/127058648