相机去畸变,以及双目平行校正----极线校正(一)————之单目畸变校正详细过程
来源:互联网 发布:tomcat打不开8080端口 编辑:程序博客网 时间:2024/06/08 21:02
通过相机标定的程序获取了两个相机各自的内参矩阵和畸变系数,以及两个相机达到平行时各自的旋转矩阵。Opencv和Matlab都给了我们现成的函数,可以利用这些数据进行去畸变或者双目平行校正,因为有需求要将去畸变和平行校正移植到硬件上,那么自己如何利用这些参数和矩阵写去畸变的程序和双目平行校正的程序呢?我本人发现的网上这方面资料较少。在此总结一下。
去畸变的过程就是针对单目相机进行的变换,平行校正就是针对双目相机的操作。
本文针对单目去畸变的方法展开叙述:
和“从世界坐标系到相机坐标系再到图像物理坐标系最后到图像像素坐标系”过程相逆,我们做去畸变时,是已经通过相机标定获取了相机的内参矩阵和畸变系数的,另外,我们已知的就是相机拍摄出来一副图像。
内参矩阵:
畸变系数:
则各参数如下:
去畸变的操作步骤如下:
(1),将图像的像素坐标系通过内参矩阵转换到相机坐标系:
(2),在相机坐标系下进行去畸变操作。
(3),去畸变操作结束后,将相机坐标系重新转换到图像像素坐标系。
(4),并用源图像的像素值对新图像的像素点进行插值。
插值算法如下:
1、[x+1]-x;2、[y+1]-y;3、I1([x],[y]);4、y-[y];5、I1([x],[y+1]);6、x-[x];7、I1([x+1],[y]);8、I1([x+1],[y+1]);
I2(u,v)=1*2*3+1*4*5+6*2*7+6*4*8
编程实例:
去畸变之前的图像:
- for x=1:W1
- for y=1:H1
- %图像像素坐标系转换到相机坐标系
- yy=(y-cy)/fy;
- xx=(x-cx)/fx;
- %在相机坐标系中做去畸变
- r=xx^2+yy^2;
- xxx=xx*(1+k21*r+k22*r^2+k23*r^3)+2*p21*xx*yy+p22*(r+2*xx^2);
- yyy=yy*(1+k21*r+k22*r^2+k23*r^3)+2*p22*xx*yy+p21*(r+2*yy^2);
- %去畸变后重新将相机坐标系转换到图像像素坐标系
- xxxx=xxx*fx2+cx2;
- yyyy=yyy*fy2+cy2;
- if (xxxx>1 && xxxx<=W2 && yyyy>1 && yyyy<=H2)
- h=yyyy;
- w=xxxx; I22(y,x)=(floor(w+1)-w)*(floor(h+1)-h)*I2(floor(h),floor(w))+(floor(w+1)-w)*(h-floor(h))*I2(floor(h+1),floor(w))+(w-floor(w))*(floor(h+1)-h)*I2(floor(h),floor(w+1))+(w-floor(w))*(h-floor(h))*I2(floor(h+1),floor(w+1));
- end
去畸变之后的图片:
注意:原文链接http://blog.csdn.net/wangxiaokun671903/article/details/37973365
0 0
- 相机去畸变,以及双目平行校正----极线校正(一)————之单目畸变校正详细过程
- 相机去畸变,以及双目平行校正----极线校正(一)————之单目畸变校正详细过程
- 相机去畸变,以及双目平行校正----极线校正(一)————之单目畸变校正详细过程
- 相机去畸变,以及双目平行校正----极线校正(一)————之单目畸变校正详细过程
- 相机去畸变,以及双目平行校正----极线校正(二)————之双目平行校正详细过程
- 相机去畸变,以及双目平行校正----极线校正(二)————之双目平行校正详细过程
- 双目相机的畸变校正以及平行校正(极线校正)的入门问题总结
- 双目相机的畸变校正以及平行校正(极线校正)的入门问题总结
- 双目相机的畸变校正以及平行校正(极线校正)的入门问题总结
- 双目相机的畸变校正以及平行校正(极线校正)的入门问题总结
- 双目相机的畸变校正以及平行校正(极线校正)的入门问题总结
- 相机畸变校正
- 【opencv】鱼眼图像畸变校正——透视变换
- 鱼眼图像畸变校正——透视变换
- 【opencv3.0】鱼眼图像畸变校正——标定校正
- 【opencv3.0】鱼眼图像畸变校正——标定校正
- 【opencv】普通相机标定畸变校正
- 手机广角相机标定和畸变校正
- Android多页面跳转温习
- C#之数组
- 【codevs2998】【HNOI2006】 鬼谷子的钱袋
- 简析穷举算法,及其简单应用
- Unity UGUI图文混排源码(四) -- 聊天气泡
- 相机去畸变,以及双目平行校正----极线校正(一)————之单目畸变校正详细过程
- BZOJ 2301: [HAOI2011]Problem b【莫比乌斯反演
- Light Oj 1078 Integer Divisibility(同余定理)
- 51nod 1102
- 大话数据结构读书笔记 1---线性表
- WebSocket
- Servlet 笔记
- 机器学习系列(15)_SVM碎碎念part3:如何找到最优分离超平面
- IOS10系统 app没有出现在系统设置-通知列表处理