python 图像倾斜校正_图像矫正原理说明

本文介绍了图像倾斜矫正的基础知识和三种常用方法:基于投影、Hough变换和线性回归。详细阐述了每种方法的原理,并提供了Python实现图像矫正的代码示例,包括Radon变换、Hough变换和线性回归算法,帮助理解如何检测和校正图像的倾斜角度。
摘要由CSDN通过智能技术生成

在进行光学扫描时,会因为客观原因,导致扫描的图像位置不正,影响后期的图像处理,因此需对图像进行图像矫正工作。

1、图像倾斜矫正基础

图像倾斜矫正关键在于根据图像特征自动检测出图像倾斜方向和倾斜角度。目前常用的倾斜角度方法有:基于投影的方法、基于Hough变换、基于线性拟合,还有进行傅里叶变换到频域来进行检测的方法。

1.1 基于投影的倾斜矫正

基于投影的矫正方法,利用图像水平方向和垂直方向的投影特征来进行倾斜判断。主要用到投影的方差和均方差、投影特征矢量、梯度方向场等统计特性。

在图像投影中,一条直线沿着它的发现方向投影最长,沿着水平方向投影最短,此称之为Radon变换。定义:二元函数f(x,y)的投影是在某一方向上的线积分,例如f(x,y)在垂直方向上的线积分是f(x,y)在x方向上的投影,在水平方向上的线积分是在y方向上的投影,沿y'方向的线积分是沿x'方向上的投影。

图1 矩形函数在水平垂直方向和沿θ角方向的投影

投影可沿任意角度进行,通常f(x,y)的Radon变换是f(x,y)平行于y’轴的线积分,格式如下:

其中

1.2 Hough变换法

Hough 变换是数字图象技术中一种有效的发现直线的算法 .它是先把直角坐标系的目标点映射到极坐标系上进行累积 ,即它是先使直角坐标系平面上任一直线上的所有点均累积到极坐标系的同一点集中去 ,然后通过寻找极坐标系中点集的峰值 ,来发现长的直线特征 .由于这种点集是通过累积统计得到的 ,因而能够容忍直线的间断 。

原理很简单:假设有一条与原点距离为S,方向角为0的一条直线,如下图所示:

直线上的每一点满足:

证明过程如下:

在上图中有效根据三角形相似原理进行证明,找出线段与x,y,θ之间的关系:

所以:

然后我们再在直线上找一一点x1,y1只要证明也满足这个公式即可。在小三角形中:

所以:

进而:

所以直线上任意一点满足上述公式。

在x-o-y平面内可以看出(x1,y1)即属于直线L1又属于直线L2,且满足:

所以在x-o-y平面上的一点(x1,y1)对应于s-o-θ面上的的一条曲线,也就意味着在x-o-y平面内的直线对应s-o-θ存在很多条曲线上。同时由于一条直线上的点都满足公式:

,即上述公式中我们知道s,θ为一个定值,所以意味着是个定点,所以所以x-o-y平面上处在一条直线上的点经过变换在S-O-θ平面上所得的曲线相交于一点。如下图所示

因此可以把x-o-y平面内直线的问题转化为S-O-θ平面内点的问题。

1.3、线性回归

如果我们有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值