关于《一种鱼眼图象到透视投影图象的变换模型》
《一种鱼眼图象到透视投影图象的变换模型》与另一篇论文《一种基于椭圆抛物面透视投影约束的鱼眼镜头校正方法》其实算法差不多的。所以试着实现一个就好了,可是我不知道这篇论文算法的最后一步:确定目标图象的大小,求(uo,vo)对应的中心点(xo,yo),利用公式(1)求出目标图象。 这一步的z怎么确定,如果z确定不了,那怎么可能求出目标图象?
那个先想想,我也同时问了别人,等有结果了再补上:
这里先写算法的前几步吧 反正还是比较清晰的
A=imread('F:\orl_zhifangtu\yuyan3.jpg');
>> [A,R]=kuaisusaomiao(A,40);
接下来开始选择一条对应空间直线的鱼眼上的圆弧 我选的是右边这栋歪掉的大厦 在上面取9个点 因为论文中要6个未知参数嘛 用绿色的菱形表示出来 下图中
>> imshow(A)
>> hold on
>> [i1,j1]=ginput(1);
>> plot(i1,j1,'g.');
>> [i2,j2]=ginput(1);
>> plot(i2,j2,'g.');
>> [i3,j3]=ginput(1);
>> plot(i3,j3,'g.');
>> [i4,j4]=ginput(1);
>> plot(i4,j4,'g.');
>> [i5,j5]=ginput(1);
>> plot(i5,j5,'g.');
>> [i6,j6]=ginput(1);
>> plot(i6,j6,'g.');
>> [i7,j7]=ginput(1);
>> plot(i7,j7,'g.');
>> [i8,j8]=ginput(1);
>> plot(i8,j8,'g.');
>> [i9,j9]=ginput(1);
>> plot(i9,j9,'g.');
>> hold off;
DATA=[i1j1;i2 j2;i3 j3;i4 j4;i5 j5;i6 j6;i7 j7;i8 j8;i9 j9];
W=zeros(9,6);
%每一行放的是A,B,C,D,E,F这6个所求参数的系数
for n=1:9
i=DATA(n,1);
j=DATA(n,2);
W(n,1)=j^2;
W(n,2)=2*i*j;
W(n,3)=i^2;
W(n,4)=j;
W(n,5)=i;
W(n,6)=1;
end
%因为是超定齐次线性方程组 9个方程6个未知数 用最小二乘解出来 对应最小特征值的特征向量就是所求的解
[V D]=eig(W'*W);
D
D =
1.0e+010 *
0.0000 0 0 0 0 0
0 0.0000 0 0 0 0
0 0 0.0000 0 0 0
0 0 0 0.0001 0 0
0 0 0 0 0.0554 0
0 0 0 0 0 5.9756
可是奇怪的是这里有三个都小 都是0 为什么?我取的是第二个
>> V
V =
-0.0000 0.0009 0.0052 0.8840 -0.4344 0.1724
0.0000 0.0013 -0.0031 -0.4239 -0.5898 0.6874
-0.0000 0.0004 0.0060 0.1969 0.6807 0.7055
-0.0024 -0.9997 -0.0254 0.0005 -0.0009 0.0014
0.0097 0.0254 -0.9996 0.0071 0.0037 0.0029
-0.9999 0.0026 -0.0097 0.0001 0.0000 0.0000
我取了第二个特征向量作为解
>> A=9;
>> B=13;
>> C=4;
>> D=9997;
>> E=254;
>> F=26;
按照论文公式求光学中心和长半轴
>> uo=(C*D-B*E)/2/(B^2-A*C);
vo=(A*E-B*D)/2/(B^2-A*C);
R=sqrt(((C*D^2-2*B*D*E+A*E^2)/4/(B^2-A*C)+F)*((A+C+sqrt((A-C)^2+4*B^2))/2/(B^2-A*C)));
光学中心的结果 和长半轴的结果:
如果上面没错 接下来就是论文最后一步 可是那个z怎么确定呢?
关于《一种鱼眼图象到透视投影图象的变换模型》相关推荐
- 学计算机是不是必须要买电脑,上大学了,你必须买一部电脑吗?
有一位今年的大一新生在网上问:上大学了,必须买电脑吗? 对于这个问题,大家的看法没有大的分歧,我们总结整理一下,大致观点如下: 一,根据学生学习的需要情况. 在大学里,有些专业学习时必须用到电脑,类似 ...
- 菜鸟学编程,用x86二手本学习嵌入式编程(硬件编程)
最近一直忙着上课,一直忙着写论文,一直忙着准备考试,但是脑子没有停止思考. 下学是结合个人的学习经历,给希望学习软件的菜鸟一点点帮助. 1:菜鸟也想学编程 大部分同学从大学开始接触软件编程,但其实有一 ...
- 小孩多大适合学编程机器人
小孩多大适合学编程机器人?小孩的学习一直以来都是家长们非常关心和重视的一件事情.很多的家长在培养孩子的学习的时候,在选择学习课程的时候,可以说是非常的用心的.就拿现在很多的家长想要孩子去学习机器人编程 ...
- 关于《学编程,还有必要上大学吗? 》
这两天登录CSDN,下面的广告弹出链接写着<学编程,还有必要上大学吗?>原来是篇针对<收回你的偏见,软件培训机构更能出人才>和<90后高中生学编程月薪过万,刺痛了谁?&g ...
- 电路板必须用c语言编程吗,上大学才知道绿油油的板子叫PCB,如何成为一名电子工程师...
原标题:上大学才知道绿油油的板子叫PCB,如何成为一名电子工程师 本文为十周年征文来稿,活动还在就行中欢迎烧友们拉到文章底部了解参加 对活动有疑问欢迎联系小助手(微信:XM1007721171) 我是 ...
- @大学生,送给步入大学生活的你,高速学编程。
大学生怎样学习编程,学哪个编程语言好? 上大学后学哪门编程语言好?大学生学哪个编程语言好就业?学哪个编程语言工资高?新手如何自学编程?哪个编程语言开发的软件多?大公司都招聘哪些编程语言人才? 相信很多 ...
- 大学java怎么算学得好_为什么现在大学里很多计算机系的大学生,学编程的时候总学不好...
小编发现如今在大学校园里,总是会出现一种现象,就是现在大学里很多计算机系的大学生,学编程的时候总学不好,这到底是为什么呢?因为看不懂?因为不认真?相信很多同学也会感到疑惑,那小编就一起来分析一下吧,同 ...
- 大学如何开始学编程?
大学如何开始学编程? 作为编程初学者每个人一开始都很迷茫不知如何学习,学习也没动力,其实大家都是一样的,但这并不意味着你会成为一个糟糕的 程序猿(媛).学习编程关键是要找到一种合适的语言,坚持学习,学 ...
- 3.4 学编程不拘于语言,学语言不限于平台——《逆袭大学》连载
返回到[全文目录] 目录 3.4 学编程不拘于语言,学语言不限于平台 编程语言 软件和硬件--计算机要作为一个整体看待 语言的江湖 语言不是回事 多平台上的精彩 3.4 学编程不拘于语言,学语言不限于 ...
- 学编程会拉低数学成绩,巴黎大学跟踪1500个小学生得出结论
"怎么培养数学逻辑思维?来点编程试试?" 大概这是很多人的既有认知,毕竟感觉程序员们的数学都挺好的. 巴特,反转来了. 来自巴黎大学的研究人员发现,小学生改用编程课学数学后,对成绩 ...
最新文章
- java intent 传递集合对象_Intent之对象传递(Parcelable传递对象和对象集合)
- hdu 6096---String(AC自动机)
- DEDE如何调用指定文章ID来调用特定文档
- php中define的参数_php中define的用法有哪些
- mysql导入xml 工具下载_XML导入Mysql工具下载|XmlToMysql 最新版v2.1 下载_当游网
- extjs_10_自己定义combotree组件
- pythoninstance函数需调用_Python isinstance函数介绍
- 【matlab】利用matlab解二元一次方程
- 悼念打dota的日子
- n-gram代码实现源码
- 2022华为机试真题 C++ 实现【勾股数元组】
- linux输入法怎么关闭,关于Ubuntu 7.10的缺省输入法Xim
- 共识算法POW原理及实现
- Google巧妙发布Sky星空地图
- 【Unity】XPS模型导入Unity(支持VRChat)
- android 内核老版本下载安装,百度极速版老版本下载安装
- 计算机上找不到e.f盘怎么班,windows 10使用过程中突然找不到E盘了
- 元胞自动机(Cellular Automata)与城市规划及其MATLAB实现——莆田市城市发展预测
- 序列3:序列方法实操上
- 原生CANVAS语法实现的封装折线图和饼图
热门文章
- python文件的用法_关于.py文件的详细介绍
- play framework 提示:VerifyError错误
- 面试题:一头牛重800公斤,一座桥承重700公斤,牛应该怎么过桥
- 【计算机图形学基础】学习笔记 02 图形系统
- 华硕笔记本k555拆机图解_华硕K751大屏笔记本拆机解析
- 小猫爪:S32K3学习笔记10-S32K3之EIM和ERM
- 数量金融学(7):连续复利
- Apache Kafka 3.0.0 稳定版发布,有哪些值得关心的变化?
- Error:All flavors must now belong to a named flavor dimension. Learn more at
- 使用C语言实现杨辉三角