智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 10780|回复: 27
打印 上一主题 下一主题

MATLAB 透视逆变换代码分享

[复制链接]

20

主题

136

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1634
威望
828
贡献
432
兑换币
509
注册时间
2015-10-20
在线时间
187 小时
跳转到指定楼层
1#
发表于 2016-1-3 11:54:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
其实很多东西真正花点心思,才发现也不是不可琢磨。

function J= TwoLinear( I )
%UNTITLED3 Summary of this function goes here
%  双线性插值 by Benzli
I=imread('tx.png');
I=double(I);
[H,W]=size(I);
%A=43.536*pi/360;  %2a代表摄像头垂直视野角;43.536
%B=55.591*pi/360;  %2b代表摄像头水平视野角;55.591
A=56*pi/360;  %2a代表摄像头垂直视野角;43.536
B=55*pi/180;  %2b代表摄像头水平视野角;55.591
R=40*pi/180;  %r代表摄像头光轴和水平路面夹角
h=1.25;          %摄像头安装高度
H1=800;W1=600;  %需要显示图像的高和宽
h1=4;w1=2;      %实际路面的高和宽

%由世界坐标变换到图像坐标系
for M=1:H1               %变换之后路面图像H1*W1=400*600个像素,路面宽度为7m,高度为10m
    for N=1:W1
        Px=N*w1/W1-w1/2; Py=-M*h1/H1+h1/2+h*cot(R);  %将(M,N)转换为路面实际坐标(Px,Py),只有在涉及到
                                                     %路面坐标系得时候才会有把道路坐标系下的图像放缩的问题,
                                                     %乘以一定的象素值
         Py1=(Py*H-H*h*tan(R))/(2*Py*tan(R)*tan(A)+2*h*tan(A)); % 垂直方向
         Px1=(Px*W)/(sqrt(h*h+Py*Py)*2*tan(B)); % 水平方向
         m=H/2-Py1;                        %对原图拍摄的图像进行坐标变换
         n=Px1+W/2;  
         i=floor(m);
         j=floor(n);
         a=m-i;b=n-j;       %小数部分
         %下面是插值算法,利用双线性插值法
         if(((i+1)>H)||((j+1)>W)||(i<1)||(j<1))
          Imn=0;
         else
         Imn=(1-a)*(1-b)*I(i,j)+a*(1-b)*I(i+1,j)+b*(1-a)*I(i,j+1)+a*b*I(i+1,j+1);
         end   
          %{
         if((m1>H)||(n1>W)||(m1<1)||(n1<1))
          Imn=0;
         else
          Imn=I(m1,n1);
         end
      %}  
      J(M,N)=uint8(Imn);

    end
end
figure,imshow(J);


end

回复

使用道具 举报

30

主题

656

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4782

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

威望
1841
贡献
1657
兑换币
951
注册时间
2015-10-9
在线时间
642 小时
毕业学校
FTD
推荐
发表于 2016-1-14 10:25:09 | 只看该作者
楼主你参考的是那个论文?
可以发出来学习一下么
回复 支持 0 反对 1

使用道具 举报

16

主题

378

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6167
威望
3955
贡献
1878
兑换币
597
注册时间
2014-5-20
在线时间
167 小时
毕业学校
西北民族大学
28#
发表于 2016-12-24 15:53:41 | 只看该作者
%A=43.536*pi/360;  %2a代表摄像头垂直视野角;43.536
%B=55.591*pi/360;  %2b代表摄像头水平视野角;55.591
A=56*pi/360;  %2a代表摄像头垂直视野角;43.536
B=55*pi/180;  %2b代表摄像头水平视野角;55.591
R=40*pi/180;  %r代表摄像头光轴和水平路面夹角
h=1.25;          %摄像头安装高度
H1=800;W1=600;  %需要显示图像的高和宽
h1=4;w1=2;      %实际路面的高和宽
这些参数怎么得到的呀
回复 支持 反对

使用道具 举报

16

主题

378

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6167
威望
3955
贡献
1878
兑换币
597
注册时间
2014-5-20
在线时间
167 小时
毕业学校
西北民族大学
27#
发表于 2016-12-24 15:44:50 | 只看该作者
楼主还在吗,关于逆透视想请教一下你
世界坐标怎么选取得,视角怎么选取得
回复 支持 反对

使用道具 举报

0

主题

25

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1310
威望
634
贡献
434
兑换币
416
注册时间
2015-10-17
在线时间
121 小时
26#
发表于 2016-12-16 17:22:20 | 只看该作者
楼主最后研究得怎么样了,一年了,新人又走你们的老路了
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
31
威望
27
贡献
4
兑换币
5
注册时间
2016-7-11
在线时间
0 小时
毕业学校
攀枝花学院
25#
发表于 2016-7-12 13:54:02 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

14

主题

153

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2415
威望
747
贡献
334
兑换币
410
注册时间
2015-12-18
在线时间
667 小时
毕业学校
河南大学
24#
发表于 2016-5-28 15:07:45 | 只看该作者
6666666666666666666666666666666
回复 支持 反对

使用道具 举报

12

主题

66

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1505
威望
736
贡献
449
兑换币
472
注册时间
2016-1-25
在线时间
160 小时
毕业学校
**
23#
发表于 2016-5-28 14:05:56 | 只看该作者
最近在看逆透视变换,头有点大,用你的代码在matlab中运行出来是一幅全黑的图像,还有您的摄像头高度实际路面宽度等等数据的单位是什么,望回复呀楼主,感谢
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
13
威望
9
贡献
4
兑换币
3
注册时间
2016-4-5
在线时间
0 小时
毕业学校
西安大学
22#
发表于 2016-4-5 11:20:24 | 只看该作者
楼主亲测可行?
回复 支持 反对

使用道具 举报

7

主题

177

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2881
威望
1376
贡献
841
兑换币
925
注册时间
2014-10-12
在线时间
332 小时
21#
发表于 2016-2-24 13:43:14 | 只看该作者
:lol:lol
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

高级会员

Rank: 4

积分
601
威望
297
贡献
180
兑换币
194
注册时间
2015-8-29
在线时间
62 小时
毕业学校
合肥工业大学
20#
发表于 2016-2-17 10:13:27 | 只看该作者
楼主打算如何运用逆透视得来的图像呢?直接求中线再求偏移量总感觉有点大材小用,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 04:43 , Processed in 0.096767 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表