C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用OpenCV和c中的一组有限图像进行相机校准大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当样本数量有限且在图像的一小部分范围内时,您对摄像机校准有任何想法或建议吗?

以下是一些其他信息:

我正在开展一个项目,帮助残疾人用眼睛使用电脑.由于我对OpenCV缺乏经验,有些事情让我有点麻烦.

相机是头部安装的,凸起不错但眼球本身是凸起的并且可以旋转移动.我打算“弄平”眼睛,使它看起来像是在飞机上移动.显而易见的选择是校准相机以尝试消除径向失真.

在校准过程中,用户在屏幕上查看网格的角落.在校准期间,瞳孔的力矩存储在垫子中的每个位置.因此,当我在屏幕上看到网格的角落时,我有一个带有与多个眼睛位置相对应的点的图像.

我可以绘制连接四个点组的填充poligons并创建棋盘图案,或者我可以将每个眼睛位置保存为点并使用对称圆圈图案进行校准.

我的问题是相机是静态的,眼睛位置不会改变,因此我可以生成多少图像,因为位置范围不是很大.

我正在虑将网格细分为较小的棋盘图案,但它们都将位于相同的小区域中,因此我不确定这将是多么有用.

谢谢!

解决方法

您所说的实际上并不是相机校准 – 它是您的眼动追踪设置的校准.

当您在OpenCV中校准摄像机时,您会尝试消除径向和切向失真,因此将该过程应用于“展平”圆形对象似乎很直观.然而,球面透镜引入的径向畸变并不是你所要处理的.您关注的是球形物体上的点投射到图像中的方式.

不可否认,模型看起来非常相似,但关键是在将设置校准到测试对象期间,不应该触摸相机的校准(应该离线).您的“位置范围”有限的事实是您的问题所固有的,并且无法通过图像处理进行更改.你拍摄的眼睛只会填满你相机的视野.

就个人而言,我只是在屏幕上的9个均匀分布的点上记录瞳孔位置,并将屏幕坐标与瞳孔二阶多项式的图像坐标相关联.这归结为采用球形投影的第一个泰勒项,除非眼球运动很大,否则这可能是足够好的.然后,您可以使用16而不是9点来测试第二次校准时的预测运动.

我假设您可以找到更多信息的book on the topic.

大佬总结

以上是大佬教程为你收集整理的使用OpenCV和c中的一组有限图像进行相机校准全部内容,希望文章能够帮你解决使用OpenCV和c中的一组有限图像进行相机校准所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。