opencv - 如何从给定图像验证相机失真值(和内在函数)
问题描述
这听起来像是一个奇怪的问题,但我被困住了,想知道是否有解决这个问题的办法。
我有一组从相机记录的图像,我不再可以访问(由于当前情况)。问题是,我不确定是否捕获了原始图像,或者是否捕获了未失真/校正的图像,因为相机 SDK(Zed mini,如果有人感兴趣的话)提供了这两种图像,并且它的问题是选择哪一个输出。
给定图像(大约 100 张图像),并给定我的相机内在特性(焦距和 cx,cy),是否可以检查我是否必须使图像不失真?我有失真值:k1
、k2
、和k3
,但如果图像已经不失真,那么我根本不必使用这些值。p1
p2
简而言之,是否有可能找出我的图像是否已经不失真(例如,使用 OpenCV)
如果可能的话,就像一个思考练习,因为它看起来很有趣,我想知道类似的思路,如果有可能验证某些相机内在值是否正确,给定一组图像。
解决方案
在视觉上,我可以说这些图像已得到纠正,因为我看不到侧面或角落的任何变形,但由于科学不能以这种方式工作,因此使用 OpenCV 验证这一点的一种方法是使用极线几何: https://docs.opencv .org/master/da/de9/tutorial_py_epipolar_geometry.html 如果您的图像对中的极线相似,则图像将被校正。
推荐阅读
- html - 创建垂直步进器html css时的对齐问题
- angular - 如何使用 Angular 动态添加表格行?
- mysql - WordPress - 数据库 FIND_IN_SET
- database - Codeigniter 复选框
- javascript - 如何在 foreach 循环 iin node js 中使用 foreach 任何人都可以帮助我吗?
- java - 即时创建 csv 文件并使用 java 获取 url 下载
- javascript - 向下滚动一点,等待,然后重复到底部,然后稍等一下,然后在 Javascript 中重新加载页面
- html - HTML CANVAS 会支持 windows 7 和 chrome beta 版本吗?
- sql-server - 如何找到已安装 ssms 的图标
- c++ - 三角矩阵、C++、Getters 和 Setters、双指针