双目测距系列(一)标定工具的开发

前言

   双目摄像头标定是测距及其三维建模非常重要的步骤,因为标定出来的内外参数将会用来对原始图像进行反畸变校正,而反畸变的效果对立体匹配精度有着非常大的影响。此外,最终在求距离时(其公式为l=B*f/d),这里面参数都和标定息息相关。

标定工具

   目前标定方法的理论基础都为张正友标定法,其大体思想是能找到一个比较好的初始值来进行一个最小二乘法迭代,从而获得最优化标定参数。

  具体实现起来比较简单,因为opencv或matlab都已经提供了API支持,关键是先针对实验图片、标定板参数(比如宽高分别有几个角点,每个棋盘格的物理尺寸为多少mm等)确定好即可。

  为了更方便的完成标定功能,最好是开发一个带GUI的标定工具,这样效率更高,因为可以灵活指定图片所在目录等。这里面需要注意的一个操作是,要将opencv的窗口映射到MFC IDC_STATIC_CV(PICTURE CONTROL)控件上。

   相关代码可以参考下面:

	cv::namedWindow("view", WINDOW_NORMAL);
	HWND hWnd = (HWND)cvGetWindowHandle("view"); 
	HWND hParent = ::GetParent(hWnd); 
	::SetParent(hWnd, GetDlgItem(IDC_STATIC_CV)->m_hWnd); 
	::ShowWindow(hParent, SW_HIDE);

这样后面调用imshow("view", xxx) 就可以将图片显示到MFC对话框控件上,非常方便。

GUI工具如下所示。param里面参数输入好后,点击“标定”即可自动完成全部单目内外参数以及双目姿态参数的标定,并将标定过程中的信息以及结果都打印出来。

 

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ltshan139

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值