ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:309.49KB ,
资源ID:3340024      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3340024.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(几种图像倾斜角度矫正方法.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

几种图像倾斜角度矫正方法.docx

1、几种图像倾斜角度矫正方法汽车牌照图像倾角矫正方法研究首先我们对汽车牌照图像进行边缘检测,找出图像与背景的交线,然后就可以通过 一定算法确定图像的倾斜角度了。这里采用了 Sobel水平方向算子对图像中的水平边缘 直线进行检测。检测出图像中的直线后,我们要对其倾角进行计算,这里选用了 Hough变换法、 Radon变换法、最小二乘法和两点法四种方法来计算直线的倾角,下面将具体研究这四 种方法并对其优缺点做出比较。1 Hough变换法利用Hough变换法提取直线是一种变换域提取直线的方法,它把直线上的坐标变 换到过点的直线的系数域,巧妙的利用了共线和直线相交的关系。它的原理很简单:假设有一条与原点距

2、离为s,方向角为0的一条直线,如图1所 示:图1 一条与原点距离为s,方向角为0的直线直线上的每一点都满足方程:(1)s = xco 盼+ ysir证明过程如下:(2)(3)(4)(5)(6)(7)(8)(9)(10)图2坐标变换原理图如图2所示:oc = ob co = xc o 矽nc = nbsixO = ysixO所以:s = oc + nc = x c o 矽 + y s i 诏m为直线1上任意一点nd = y jd, md = (x xl)因为:df = nd si 10 = (y yl) s i xOdf = md c o 妇=-(x 一 xl) c o 砂 所以:ysir-yl

3、sii = -xcos + xlcos? 所以:s = xco0 + ysi 谄= xlco& + ylsim 所以直线上任意一点都满足s = xco 矽+ ysirt7图3 x-y平面一点可以对应多个s,0值由图3可以看出点(xl,yl)即属于直线L1又属于直线L2,且满足:(11)(12)sl = xl cos 0 + ysin 0s2 = xl cos 02 + yl sin 02所以,x-oy平面上的一点(xl,yl)对应于s-o-0平面上的一条曲线。由于一条直线上的点都满足s = xcosQ + ysin,所以x-o-y平面上处在一条直线上 的点经过变换在S-0-9平面上所得的曲线相

4、交于一点。如下图所示:图4 Hough变换前后对比图因此可以把x-o.y平面内直线的问题转化为S-O-0平面内点的问题。用Hough变换检测汽车牌照图像中直线的具体步骤为:(1)对图像进行边缘检测,这里选用了 Sobel算子检测图像中水平方向的直线。图5网格图(2)假设图像对应于x-o-y空间,定义一个S-o-6 (0角的范围为1-180)空间,对 图像中象素为1的每一个点进行计算(应用公式(10),做出每一个象素为1的点的曲 线,同时把S.0平面分成等间隔(1x1)的小网格,这个小网格对应一个记数矩阵。如图5 所示,凡是曲线所经过的网格,对应的记数矩阵元素值加1,所以对原图像中的每一点 进行

5、计算以后记数矩阵元素的值等于共线的点数。我们可以认为记数矩阵中元素的最大 值对应原始图像中最长的直线。(3)检测出记数矩阵的最大的元素所对应的列坐标0, 6即为这条直线的法线与X 轴的夹角。因此我们可以通过0角来确定直线的倾斜角度,进而对图像进行矫正。图6倾角矫正前图像Hough变换法矫正图像程序实现如下: bw=edge(l,sober,horizontar);% 检测图像边缘直线 m,n=size(bw);%计算图像大小S=round(sqrt(mA2+nA2);%S 可以取到的最大值ma=18O;%0角最大值r=zeros(md,ma);%产生初值为零的计数矩阵fbri=l:mfor j

6、=l:nifbw(i,j)=lfor k=l:maru=round(abs(i*cos(k*3.14/180)+j*sin(k*3.14/180);r(ru+l,k)=r(ru+l,k)+l;% 对矩阵记数endendendendm,n=size(r);fdri=l:mforj=l:nifr(i,j)r(l,l)r(l?l)=r(y);c=j;%把矩阵元素最大值所对应的列坐标送给Coendendendif c=90rot=-c; %确定旋转角度elserot=180-c;endpic=imrotate(l,rotcrop); %对图片进行旋转,矫正图像下面给出了 Hough变换法对倾斜图像进行

7、矫正后的图像:图7 Hough变换法对图3.6矫正后图像2 Radon变换法我们知道,一条直线沿它的法线方向投影所得的投影最长,而沿与其平行方向投影则所得的投影最短。Radon变换理论就是这样一种投影理论。用这种方法可以检测图像 中的直线。Radon变换的定义:二元函数Rx,y)的投影是在某一方向上的线积分,例如Rx,y) 在垂直方向上的线积分是Rx,y)在x方向上的投影,在水平方向上的线积分是在y方向 上的投影,沿V方向的线积分是沿丈方向上的投影。投影可沿任意角度进行,通常Rx,y) 的Radon变换是Rx,y)平行于y,轴的线积分,格式如F:| f (x!cos 0 - ,xfsin 0

8、+ ycos O)dy (13)图8矩形函数在水平垂直方向和沿0角方向的投影Radon变换与计算机视觉中的Hough变换很相似,我们可以利用Radon变换来检 测图像中的直线的倾斜角度。利用Radon变换检测直线倾斜角度的具体步骤为:(1)用edge函数计算图像的边缘二值图像,检测出原始图像中的直线。图9边缘(2)计算边缘图像的Radon变换,对每一个象素为1的点进行运算(0179度方 向上分别做投影)其命令格式如下:theta=0:179;r,xp=radon(bwl,theta);%计算边缘图像的 Radon 变换figure,image(theta,xp,r);% 显示变换效果图(3)检

9、测出Radon变换矩阵中的峰值,这些峰值对应原始图像中的直线(上图中 的四个亮点对应图9中的四条直线)。Radon变换矩阵中的这些峰值的列坐标0就是与 原始图像中的直线垂直的直线的倾斜角度,所以图像中直线的倾角为90-00 图像倾角矫正具体程序实现如下:bwl=edge(ll,sobel, horizontal);%用 Sobel 水平算子对图像边缘化bwl=imcrop(bwl,0 0 500 100);%对图像进行剪切,保留图像中的一条直线,减小运算量 theta=0:179;%定义theta角度范围r=radon(bwl,theta);%对图像进行 Radon 变换m,n=size(r)

10、;c=l;for i=l:mforj=l:nif r(l,l)vr(i,j)r(l,l)=r(i,j);c=j;endendend %检测Radon变换矩阵中的峰值所对应的列坐标rot=90-c;%确定旋转角度 pic=imrotate(ll ,rot/crop*);% 对图像进行旋转矫正图10矫正后所得图像3线性回归法如果我们有一系列相互独立的点,其近似分布在一条直线附近,我们就可以通过一元线性回归法拟合这条直线。图11最小二乘原理图这条直线的一元线性回归模型为:y = 03设上图中点的坐标分别是(Xi,yi) , (X2,y2),,(Xn,yn) o用最小二乘算法来估计。和俄则有:H =

11、A) + m I = 1,2,3 , ,n用最小二乘算法来计算,找到准则函数,记为求Q的最小值:由上式可得:(20)歹。=.(21) 其中:n 2 A*x=Z(XjU)=x; 一衣2心 心 (22)n nLXy = (寻一兄)(一歹)=Z X,H 一 ny,=1 心 (23)估计出了直线的斜率和截距,我们就可以估计出这条直线的方程了。将汽车牌照图像进行二值化,就可以得到其与背景的明显的交线,对于汽车牌照图 像二值化的阈值完全可以取的高一点。执行bw=im2bw(pic,0.3)我们可以得到下面的图像:图12二值化后的汽车牌照图像从上图可以看出如果我们能够检测到图像上边缘的一系列的边界点,我们就

12、可以通 过最小二乘法拟合这条边界直线,从而确定图像的倾角。具体方法如下:(1)找出边界直线上的点(每列第一次由黑变白的点,且这一列的下两点还是白 的话就可以判为边界点),将其行坐标存入数组a即,列坐标存入数组b。(2)通过最小二乘法拟和这条边界直线,计算出其斜率L。(3)通过rot=atan (L),计算直线的倾斜角度,然后对其矫正。最小二乘法程序实现如下:m,n=size(l);bw=im2bw(l,0.3);%将图像二值化 t=l;s=l;forj=144:l:n-144fbri=l:fix(m/4)if bw(i,j)=O&bw(i+l ,j)=l &bw(i+2,j)=l &bw(i+

13、3,j)=l%检测边缘点c(t)=i;%边缘横坐标存入数组Cbl(s)=j;边缘纵坐标存入数组blbreak;endendt=t+l;s=s+l;endx=O;y=O;xl=O;fbr i=l:length(c)x=x+c(i);xl=xl+c(i)A2;endfor i=l:length(bl)尸y+bl(i);endy=y/length(bl);x=x/length(c);cl=x;x=length(c)*x*x;lxy=xl-x;lxx=O;for i=l:length(bl)lxx=lxx+(c(i)-cl)*(bl(i)-y);endr=lxy/lxx;%以上为计算直线参数rot=a

14、tan(r);%取余切theta=rot* 180/3.142;%将弧度转换为角度pic=imrotate(l9theta/cropl);图13用最小二乘法对图3.6矫正后图像4两点法这种方法理论上非常简单,就是:如果我们知道直线上不同两点的坐标,我们就可 以求得到这条直线的斜率,进而确定直线倾角。在使用最小二乘法时,我们已经检测到 图像与背景交线的一系列坐标点,这些点近似分布在一条直线上。如图14所示:a,b,c,a,,b,,c,点近似分布在一条直线L上,直线L的斜率与直线 aabbcc9的斜率近似,如果我们求出直线aa,,bb,,cc,的斜率,再求平均值,平均值就可 以近似认为是直线L的斜

15、率。我们就可以确定L的倾角了。这里选取了汽车牌照图像上边缘的两百个坐标点做出一百条直线(做出直线的两点 的距离尽量大),然后计算这一百条直线的斜率,而后确定一百个倾斜角度并求出其平 均值作为直线L的斜率。下面是对图3.13计算所得数据的一部分:Columns 1 through 16-13.2785 -13.2785 -13.2785 -13.2785 -13.2785 -13.2785 -13.2785 -12.9409-13.2785 -13.2785 -13.2785 -12.9409 -13.2785 -13.2785 -13.2785 -13.2785Columns 17 throu

16、gh 32-12.9409 -13.2785 -13.2785 -13.2785 -12.9409 -13.2785 -13.2785 -13.2785-12.9409 -13.2785 -13.2785 -13.2785 -12.9409 -12.9409 -13.2785 -13.2785roti =-13.0692两点法具体程序实现如下:m,n=size(l);t=l;s=l;for j=144 : n-144fori=l:fix(m/4)if bw(i,j)=0&bw(i+l ,j)=l &bw(i+2,j)=l &bw(i+3,j)=l &bw(i+4,j)=lc(t)=i;b(s)

17、=j;break;elseif bw(i,j)=l &bw(i+l ,j)=l &bw(i+2,j)=l &bw(i+3,j)=lc(t)=0;b(s)=j;break;endendt=t+l;s=s+l;end%以上把边缘点的坐标存入数组c,b中。v=l;for i=l:100rot(v)= (c(262-i)-c(101-i)/ (b(262-i)-b(101-i); %计算每条直线的斜率v=v+l;endrot=atan(rot); % 取余切rot=rot* 180/3.142;%把弧度转换为角度sum=0;for i=l:100sum=sum+rot(i);endrotl=sum/1

18、00;pic=imrotate(l,rot 1 /crop1);figure(4), imsho w(p ic);图15用两点法矫正的图像上述四种方法对图像进行倾角矫正都非常有效。Hough变换和Radon相似,其抗 干扰能力比较强,但是运算量大,程序执行慢,其改进方法为:我们可以不对整幅图像 进行操作,可以在图像中选取一块(必须含有一条与倾角有关的直线)进行操作,从而 减小运算量。这里Hough变换法和Radon变换法进行倾角检测的最大精度为1度。它 们的优点是可以计算有断点的直线的倾角。最小二乘法的优点就是运算量小,但是其抗 干扰能力比较差,容易受到噪声的影响。两点法虽然理论简单,但由于采样点比较多而 且这些点服从随机分布,计算均值后能有效抑制干扰,实验表明其矫正效果很好,最大 精度可以明显小于1度,而且计算量也很小。最小二乘法和两点法不能计算有断点的直 线倾角,这是这两种方法的缺点。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1