相机校准打开CV-Python

时间:2018-01-29 06:08:00

标签: python opencv camera-calibration

我正在尝试进行相机校准,我已经从开放的cv文档中获取了代码。这是我的代码 -

sessionId

在此代码图像中,2.jpg用于校准,

This is the image considered for understanding of calibration

我的代码只检测此图像的角落。它与其他棋盘图像无法正常工作。它无法检测角落。为什么会这样?

2 个答案:

答案 0 :(得分:2)

不幸的是,我没有足够的声誉来评论和阐明一些观点。但是,无论如何我都会尝试回答。假设您已添加print(ret),那么我想这就是您的问题所在。

您似乎在cv2.findChessboardCorners(gray, (7, 6))中使用了错误的棋盘大小。我发现给定错误的输入尺寸值,此函数返回False
objp对象也是如此。

鉴于图像,您所显示的应该是n-1m-1(其中nm是棋盘格尺寸)。

对于您给定的图片,该图片应为cv2.findChessboardCorners(gray, (9, 6))

opencv calibration example棋盘上的通知是8x7,因此输入值为7x6。

答案 1 :(得分:0)

关于“相机校准”方法的问题是,有时它无法识别不是最大尺寸的棋盘格。您最有可能选择8,6或9,5作为大小。但是,对于6,7,差异太大,因此该方法无法识别。

我没有任何研究资料,但我之前已经对它进行了测试。