利用opencv的鱼眼相机去畸变程序,C++&python

最近在搞鱼眼相机,这玩意儿不太好弄,因为资料都特别少,而且各个开源代码好像对鱼眼相机的定义都不太一样,也即模型不统一,现在做出了一点阶段性的成果,来总结一下

对于畸变参数,有描述径向的畸变参数k1,k2,k3,k4,也有描述切向的畸变参数p1,p2,这个都是在网上资料比较全的,对于鱼眼相机,据我理解的应该是两种描述方法。

一种就是opencv的通用描述方法,也就是k1,k2,p1,p2,k3,对于畸变情况比较大的相机,如鱼眼,启用k3,正常情况下k3=0
另一种就是cv::fisheye描述方法,畸变参数只有四个,k1,k2,k3,k4,这个就是opencv专门为鱼眼镜头创建的模型,也对应着kalibr中的pinhole-equidistant模型,这两个模型参数是可以通用的,亲测准确。

现在上去畸变的opencv代码


        //图像去畸变部分///
    
    cv::Size img_sizea;
//    const char *imagename = "/home/taolihao/CLionProjects/undistort_tlh/left-0055.jpg";
//    cv::Mat src = cv::imread(imagename);
//    if(src.empty()) return -1;
    img_sizea.width=1280;
    img_sizea.height=1024;


    cv::Mat distortiona = I.clone();



    cv::Mat camera_matrixa = (cv::Mat_<double>(3, 3) << 541.1788, 0.0, 644.1565, 0, 539.5916,
  • 6
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值