《一种鱼眼图象到透视投影图象的变换模型》与另一篇论文《一种基于椭圆抛物面透视投影约束的鱼眼镜头校正方法》其实算法差不多的。所以试着实现一个就好了,可是我不知道这篇论文算法的最后一步:确定目标图象的大小,求(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怎么确定呢?

关于《一种鱼眼图象到透视投影图象的变换模型》相关推荐

  1. 学计算机是不是必须要买电脑,上大学了,你必须买一部电脑吗?

    有一位今年的大一新生在网上问:上大学了,必须买电脑吗? 对于这个问题,大家的看法没有大的分歧,我们总结整理一下,大致观点如下: 一,根据学生学习的需要情况. 在大学里,有些专业学习时必须用到电脑,类似 ...

  2. 菜鸟学编程,用x86二手本学习嵌入式编程(硬件编程)

    最近一直忙着上课,一直忙着写论文,一直忙着准备考试,但是脑子没有停止思考. 下学是结合个人的学习经历,给希望学习软件的菜鸟一点点帮助. 1:菜鸟也想学编程 大部分同学从大学开始接触软件编程,但其实有一 ...

  3. 小孩多大适合学编程机器人

    小孩多大适合学编程机器人?小孩的学习一直以来都是家长们非常关心和重视的一件事情.很多的家长在培养孩子的学习的时候,在选择学习课程的时候,可以说是非常的用心的.就拿现在很多的家长想要孩子去学习机器人编程 ...

  4. 关于《学编程,还有必要上大学吗? 》

    这两天登录CSDN,下面的广告弹出链接写着<学编程,还有必要上大学吗?>原来是篇针对<收回你的偏见,软件培训机构更能出人才>和<90后高中生学编程月薪过万,刺痛了谁?&g ...

  5. 电路板必须用c语言编程吗,上大学才知道绿油油的板子叫PCB,如何成为一名电子工程师...

    原标题:上大学才知道绿油油的板子叫PCB,如何成为一名电子工程师 本文为十周年征文来稿,活动还在就行中欢迎烧友们拉到文章底部了解参加 对活动有疑问欢迎联系小助手(微信:XM1007721171) 我是 ...

  6. @大学生,送给步入大学生活的你,高速学编程。

    大学生怎样学习编程,学哪个编程语言好? 上大学后学哪门编程语言好?大学生学哪个编程语言好就业?学哪个编程语言工资高?新手如何自学编程?哪个编程语言开发的软件多?大公司都招聘哪些编程语言人才? 相信很多 ...

  7. 大学java怎么算学得好_为什么现在大学里很多计算机系的大学生,学编程的时候总学不好...

    小编发现如今在大学校园里,总是会出现一种现象,就是现在大学里很多计算机系的大学生,学编程的时候总学不好,这到底是为什么呢?因为看不懂?因为不认真?相信很多同学也会感到疑惑,那小编就一起来分析一下吧,同 ...

  8. 大学如何开始学编程?

    大学如何开始学编程? 作为编程初学者每个人一开始都很迷茫不知如何学习,学习也没动力,其实大家都是一样的,但这并不意味着你会成为一个糟糕的 程序猿(媛).学习编程关键是要找到一种合适的语言,坚持学习,学 ...

  9. 3.4 学编程不拘于语言,学语言不限于平台——《逆袭大学》连载

    返回到[全文目录] 目录 3.4 学编程不拘于语言,学语言不限于平台 编程语言 软件和硬件--计算机要作为一个整体看待 语言的江湖 语言不是回事 多平台上的精彩 3.4 学编程不拘于语言,学语言不限于 ...

  10. 学编程会拉低数学成绩,巴黎大学跟踪1500个小学生得出结论

    "怎么培养数学逻辑思维?来点编程试试?" 大概这是很多人的既有认知,毕竟感觉程序员们的数学都挺好的. 巴特,反转来了. 来自巴黎大学的研究人员发现,小学生改用编程课学数学后,对成绩 ...

最新文章

  1. java intent 传递集合对象_Intent之对象传递(Parcelable传递对象和对象集合)
  2. hdu 6096---String(AC自动机)
  3. DEDE如何调用指定文章ID来调用特定文档
  4. php中define的参数_php中define的用法有哪些
  5. mysql导入xml 工具下载_XML导入Mysql工具下载|XmlToMysql 最新版v2.1 下载_当游网
  6. extjs_10_自己定义combotree组件
  7. pythoninstance函数需调用_Python isinstance函数介绍
  8. 【matlab】利用matlab解二元一次方程
  9. 悼念打dota的日子
  10. n-gram代码实现源码
  11. 2022华为机试真题 C++ 实现【勾股数元组】
  12. linux输入法怎么关闭,关于Ubuntu 7.10的缺省输入法Xim
  13. 共识算法POW原理及实现
  14. Google巧妙发布Sky星空地图
  15. 【Unity】XPS模型导入Unity(支持VRChat)
  16. android 内核老版本下载安装,百度极速版老版本下载安装
  17. 计算机上找不到e.f盘怎么班,windows 10使用过程中突然找不到E盘了
  18. 元胞自动机(Cellular Automata)与城市规划及其MATLAB实现——莆田市城市发展预测
  19. 序列3:序列方法实操上
  20. 原生CANVAS语法实现的封装折线图和饼图

热门文章

  1. python文件的用法_关于.py文件的详细介绍
  2. play framework 提示:VerifyError错误
  3. 面试题:一头牛重800公斤,一座桥承重700公斤,牛应该怎么过桥
  4. 【计算机图形学基础】学习笔记 02 图形系统
  5. 华硕笔记本k555拆机图解_华硕K751大屏笔记本拆机解析
  6. 小猫爪:S32K3学习笔记10-S32K3之EIM和ERM
  7. 数量金融学(7):连续复利
  8. Apache Kafka 3.0.0 稳定版发布,有哪些值得关心的变化?
  9. Error:All flavors must now belong to a named flavor dimension. Learn more at
  10. 使用C语言实现杨辉三角