Opencv 如何验证给定图像中的相机失真值(和内部特性)

Opencv 如何验证给定图像中的相机失真值(和内部特性),opencv,camera,camera-calibration,Opencv,Camera,Camera Calibration,这听起来可能是一个奇怪的问题,但我被卡住了,不知道是否有解决这个问题的办法 我有一组从相机中录制的图像,但由于目前的情况,我无法再访问这些图像。问题是,我不确定是否捕获了原始图像,或者是否捕获了未失真/校正的图像,因为camera SDK(Zed mini,如果有人感兴趣的话)提供了这两种图像,这是选择输出哪一种图像的问题 给定图像(大约100张图像),以及给定我的相机内部特性(焦距和cx、cy),是否可以检查是否必须取消图像的失真?我有失真值:k1、k2、k3、p1和p2,但是如果图像已经没有

这听起来可能是一个奇怪的问题,但我被卡住了,不知道是否有解决这个问题的办法

我有一组从相机中录制的图像,但由于目前的情况,我无法再访问这些图像。问题是,我不确定是否捕获了原始图像,或者是否捕获了未失真/校正的图像,因为camera SDK(Zed mini,如果有人感兴趣的话)提供了这两种图像,这是选择输出哪一种图像的问题

给定图像(大约100张图像),以及给定我的相机内部特性(焦距和cx、cy),是否可以检查是否必须取消图像的失真?我有失真值:
k1
k2
k3
p1
p2
,但是如果图像已经没有失真,那么我根本不必使用这些值

简言之,是否有可能找出我的图像是否已经没有失真(例如,使用OpenCV)

如果可能的话,就像一个思维练习,因为它看起来很有趣,我想知道类似的事情,如果有一组图像,是否有可能验证某些摄影机内部值是否正确

这是一个示例图像,如果这有帮助的话

从视觉上看,我可以说这些图像是经过校正的,因为我看不到侧面或角落的任何变形,但由于科学不是这样工作的,使用OpenCV验证这一点的一种方法是使用极线几何:
如果图像对中的极线相似,则图像会被校正。

您有多少图像以及它们的内容是什么?如果图像中有直线,从中您知道它们在现实世界中是直线,那么如果图像已经不失真(或者如果直线穿过主点),它们将在图像中是直线。因此,如果你的图像内容在外部图像区域有一些真实的直线,你可以很容易地检查它们是否失真。嗨@米卡,这些图像仅仅是RGB图像,道路数据(类似于KITTI,如果你遇到它)我编辑了我的问题,并附上了一个示例图像。我将研究你建议的解决方案,在不失真前后找到这样的线条,看看哪个看起来笔直。谢谢如果有图像沿着市区行驶,你通常会发现一些直立的路灯基础设施,在图像的外部部分有相当直的实线。然而,在我看来,图像看起来很低/没有失真,但很难说,因为只有真正已知的直线(方框)靠近图像中心..谢谢你的回答!也许您还可以提供一个实现检查的代码段?事实上,它在本文的末尾!链接的问题是,随着时间的推移,它们变得过时甚至无法访问。如果你的答案不涉及到到去外部网站查找特定代码,那么你的答案更有可能帮助他人。