matlab车牌倾斜校正,求做车牌倾斜校正程序。

我手上有部分网上程序资料,但是不能很好理解,望高手指点,并改进相关程序。

以下是网上现有程序资料(本论坛就有):

----------------------------------------------------------------------------------------------

matlab车牌倾斜校正的问题

2010-09-05 15:32

为了这个车牌的倾斜校正搞了很久,自己又不是看得很明白这些算法,只好在网上找了一些。不过发现效果都不甚好。

1.

% 旋转

rotate=0;

bw=edge(I);

[m,n]=size(I);

theta=0:179;

% bw 表示需要变换的图像,theta 表示变换的角度

% 返回值 r 表示的列中包含了对应于 theta中每一个角度的 Radon 变换结果

% 向量 xp 包含相应的沿 x轴的坐标

[r,xp]=radon(bw,theta);

i=find(r>0);

[foo,ind]=sort(-r(i));

k=i(ind(1:size(i)));

[y,x]=ind2sub(size(r),k);

[mm,nn]=size(x);

if mm~=0 && nn~=0

j=1;

while mm~=1 && j<180 && nn~=0

i=find(r>j);

[foo,ind]=sort(-r(i));

k=i(ind(1:size(i)));

[y,x]=ind2sub(size(r),k);

[mm,nn]=size(x);

j=j+1;

end

if nn~=0

if x~=0 % Enpty matrix: 0-by-1 when x is an enpty array.

x=x;

end

if x==0   % 可能 x 为空值

x=90; % 其实就是不旋转

end

d=imrotate(d,abs(90-x)); % 旋转图像

rotate=1;

end

end

这个本来是可以用的,不过后来虽然没有改过,却不行了。有些图是只需旋转几度的,却旋转了差不多90度(x总是等于一)。主要是中间一段的内容我看不懂,希望各位朋友给小弟讲解讲解^_^

2.

%利用最小二乘法进行图像倾斜校正

clear all

I=imread('c:\aaa2.jpg');

figure(1),imshow(I);

A=0;       %最小二乘法求解中的第1项

B=0;       %最小二乘法求解中的第2项

C=0;       %最小二乘法求解中的第3项

D=0;       %最小二乘法求解中分母的第1项

N=0;       %计算图像中为1的个数

I1=im2bw(I,0.3); %对输入图像进行二值化处理

[m,n]=size(I1);

II=ones(m,n);

II=-1*I1+II;     %反色处理

[m,n]=find(II);

rowmin=min(m);

rowmax=max(m);

colummin=min(n);

colummax=max(n);

I2=II(rowmin:rowmax,colummin:colummax); %显示文字部分

[m,n]=size(I2);

for i=1:m

for j=1:n

A=A+I2(i,j)*i*j;

B=B+I2(i,j)*i;

C=C+I2(i,j)*j;

D=D+I2(i,j)*j*j;

N=I2(i,j)+N;     %计算最小二乘法中的各项

end

end

U=N*A-C*B;

V=N*D-C*C;

a=U/V;                %计算啮合直线的斜率

rotate=atan(a);

rotate=rotate*180/3.142;

J=imrotate(I,rotate);   %对图像进行旋转

figure(10),imshow(J);    %显示经过校正的图像

这个是用最小二乘法来做的,也是网上找回来的。不过发现每次旋转的角度很小,没感觉有旋转到位。

——————————————————————————————————————

第一个程序,我不知如何将倾斜校正后的程序输出。

第二个程序,貌似要将倾斜校正前的图片去除边框,铆钉等,处理效果才好。但无奈我又不知如何去除边框和铆钉。

两个程序只需帮忙解决其中一个就行。酬谢金额100元。

若有其他倾斜校正的程序,也可以接受。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值