python - 从鱼眼相机到真实平面图像的目标转换,无需校准
问题描述
我在盒子里安装了带鱼眼的相机,它可以从后面看到目标。我得到了圆圈,但它们因鱼眼而变形。由于 opencv 具有功能,因此无法使用棋盘进行校准。我在目标中有实际大小的圆圈,需要获得转换功能或其他东西,当激光射到目标中的某个点时,将其转换为真实的撞击位置,以便将其呈现在平面目标上。
我已经做了一些预处理,得到了精明的估计圆圈并找到了轮廓。请注意,相机的中心并不总是完美地位于目标的中心。我在真实目标上有每个圆圈的大小,这就是我所拥有的。已经在 OpenCV 中尝试过透视变形和其他一些功能,但效果不佳。
从中间开始的实际圆尺寸(以毫米为单位):5 12 28 44 60 76 92 108 124 140 156
预期的结果是变换矩阵或某种函数,它将根据相机输入目标上的点获得真实坐标。
解决方案
推荐阅读
- dependency-injection - 使用@Singleton注解时Dagger生成的代码编译失败
- java - 有没有办法在注解@EnableFeignClient 中传递多个基础包
- kubernetes - K8 LB 网络
- php - php artisan clear-compiled PDOException 找不到驱动程序
- mysql - 如何在一个查询中使用 Concat() & Substring?
- python - numpy.cos 在某些数字上的工作时间明显更长
- .net-core - 如何在 .NET Core Identity 中使用多个密码策略?
- netlogo - Netlogo:在评估给定变量的相似性后让乌龟与另一个人互动
- javascript - zserge/lorca ui.Eval 不返回值
- asp.net - 我们如何为我们的网站调试“此服务不可用”错误消息?