智能车制作

标题: 摄像头图像还原 [打印本页]

作者: Cang    时间: 2009-5-13 23:04
标题: 摄像头图像还原
请问如何能把摄像头采集的非真实图像还原成真实的图像?就是说摄像头采集的图像在现实中的真实形状如何确定?请大家慷慨赐教,谢谢了!!!!

作者: whut_wj    时间: 2009-5-14 08:43
这个变形是由于非行垂直拍摄的,其结果是远处小近处大,只能通过程序校正,
但是:
没有必要,所谓前瞻,只是大概了解,不需要精确,如果你用曲率去做控制决策,那么你必须做修正,这个修正应该是调试时不断测试,但同时计算量也不小.
作者: Cang    时间: 2009-5-14 09:21
是的,我是准备用曲率去做控制决策的,这个修正有没有公式啊之类的资料啊?
作者: zxzxy1988    时间: 2009-5-14 14:19
第三届的华南理工的报告有讲这个的,但是我感觉计算量挺大的,嘿嘿
作者: cys179    时间: 2009-5-14 20:18
计算量相当大的

补充内容 (2015-4-23 09:31):
真人游戏|足球篮球|时时彩| 六合投注| 网络赚钱去SO娱乐城:顶级信用,提现百分百即时到账SO.CC



作者: Cang    时间: 2009-5-16 22:13
哦,这样啊,那你们都用什么方法啊?
作者: kefeng19    时间: 2009-5-23 14:17
我自己用自己的算法做过
后来实际用的时候给去了。。
没有必要要那么精确,我固定只用几个点。。。
我以前的方法是解一个三角形。最后用MATLAB 计算出挑选的行坐标。。。行坐标大致的一个规律。
不过个人觉得,没有必要把图片校正。。。。。

MATLAB  给你 参考下。。。


global img;
y=zeros(255);
for i=1:1:35
    for j=1:1:100
       y(img(i,j))= y(img(i,j))+1;   
    end
end
subplot(4,2,1);
imshow(uint8(img));

subplot(4,2,3);
plot(y);

imk=edge(img,'canny',[0.1 0.57]);
subplot(4,2,5);
imshow(imk);
ax=zeros(35,100);
ay=zeros(35,100);

axmag=zeros(35,100);
aymag=zeros(35,100);

for i=1:1:34
    for j=1:1:99
       if(img(i,j)-img(i+1,j)>40)
           axmag(i,j)=abs(img(i,j)-img(i+1,j));
           ax(i,j)=1;
       elseif(img(i,j)-img(i+1,j)<-40)
           axmag(i,j)=abs(img(i,j)-img(i+1,j));
           ax(i,j)=1;
       end
      
       if(img(i,j)-img(i,j+1)>40)
           aymag(i,j)=abs(img(i,j)-img(i,j+1));
           ay(i,j)=1;
       elseif(img(i,j)-img(i,j+1)<-40)
           aymag(i,j)=abs(img(i,j)-img(i,j+1));
           ay(i,j)=1;
       end
      
       j=j+1;
    end
    i=i+1;
end
subplot(4,2,7);
imshow(ax);

subplot(4,2,2);
imshow(ay);

mag=sqrt((axmag.*axmag)+(aymag.*aymag));
subplot(4,2,4);
imshow(mag);
作者: kefeng19    时间: 2009-5-23 14:18
不好意思啊 ,贴错了

clear
clc
((atan(113/32))/pi)*180;

((acos(32/34))/pi)*180;

x=(atan(113/32)-acos(32/34))/100;
for i=1:1:100
    j=99-i;
    r(i)=113-(32*tan(j*x+acos(32/34)));
end

r=r.*1.06;
r=r-10;
r=round(r);
for i=1:1:99
    if(r(i)==r(i+1))
        u(i)=0;
    else
        u(i)=r(i);
    end
end
a=1;
for i=1:1:99
   
  if(u(i)~=0)
      q(a)=u(i);
      a=a+1;
  end
end
q=q+2;
%for i=1:1:71
%    q(i)=u(i+1)-u(i);
%end
fid=fopen('add.txt','wt');
fprintf(fid,'%d,',q);
fclose(fid);
作者: 20074978    时间: 2010-3-3 18:48
用曲率去做控制决策,真的必须做修正吗???
作者: gjs1988    时间: 2010-3-22 08:04
学习
作者: hufangwu    时间: 2010-3-22 21:49
好东西
作者: nigel1946    时间: 2010-3-25 14:21

作者: xinjinzhou    时间: 2010-3-26 00:47
恩,值得学习
作者: zou317    时间: 2010-3-26 23:33
学习
作者: xiaohaipolang    时间: 2010-3-27 13:50

作者: crj19880917    时间: 2010-3-27 14:53
看看
作者: hnjywjw    时间: 2010-3-27 15:28
感觉没必要校准吧
作者: zou317    时间: 2010-3-27 22:06
学习
作者: lishengfei    时间: 2010-3-28 18:58
我今年也准备用曲率试试,希望多多交流哦
作者: lansedeyueliang    时间: 2010-3-29 18:24
试试啊啊
作者: hufangwu    时间: 2010-4-5 21:26
331365657
作者: 1233211234567    时间: 2010-4-19 11:09
有必要算出曲率吗?
作者: 1233211234567    时间: 2010-4-19 11:10
车位置不同算出来差的挺多的
作者: 1233211234567    时间: 2010-4-19 11:10
不是太精确
作者: sunnylee    时间: 2010-4-19 20:37

作者: yangyangzhong    时间: 2010-4-19 22:11
学习
作者: zxd940    时间: 2010-4-22 13:51
XUEXI
作者: aleko    时间: 2010-5-1 01:11
。。。。。。
作者: airland    时间: 2010-5-1 15:59
计算量真的不是一般的大 算了一上午
作者: aqu2007    时间: 2010-5-1 18:30
路过啊
作者: librae8226    时间: 2010-5-1 21:54
借鉴一下~
作者: zhaorui19872005    时间: 2010-5-13 16:48
看来又省事啊
作者: yanglong890124    时间: 2010-11-10 08:34
2011摄像组交流群92231525,欢迎加入
作者: yanglong890124    时间: 2010-11-10 08:34
2011摄像组交流群92231525,欢迎加入
作者: z1yxyq2008    时间: 2011-1-5 12:42

作者: 敏2009    时间: 2011-1-6 11:24

作者: kufeng    时间: 2011-3-27 15:31
我觉得要还原
作者: ngng1109    时间: 2012-6-8 18:31
学习的路过```




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2