opencv - 尼康 D3400 的立体声校准

标签 opencv computer-vision camera-calibration

我正在尝试校准 Camera-Projector 3D System。首先,我使用罗技 C920 网络摄像头,在校准精度(0.8 重投影误差)方面得到了可接受的结果。但是,颜色和分辨率很差。

现在,我得到了一台专业相机 (Nikon D3400 18-55)。我没有设法获得比 5.5 更好的校准结果!我使用完全相同的投影仪、相同的模式和相同的算法进行了校准。

我的相机中的所有设置都是固定的,包括对焦、ISO、光圈、光学变焦和快门速度。

我错过了什么?这个问题的可能原因是什么?

我知道我的问题有点棘手,但我似乎犯了一个愚蠢的错误,所以任何线索都不胜感激。

我认为这无关紧要,但我正在使用 Brown University 3D Scanning Software它使用 OpenCV 2.4.9。

最佳答案

首先,您的重投影误差以像素为单位。您的网络摄像头和 Nicon 的分辨率是多少?我猜 Nicon 的分辨率要高得多,所以像素尺寸要小得多。这会使像素误差更高,尽管 5.5 像素似乎仍然太高。

接下来我要担心的是镜头畸变。未失真的 Nicon 图像是什么样的?可能是您没有足够靠近图像边缘的校准点,这意味着您没有准确估计失真系数。或者可能是您有一个广角镜头,而畸变对于这种相机型号来说太大了,无法处理。

因此,您应该做的是查看未失真的 Nicon 图像。如果它看起来奇怪地扭曲,则 try catch 更多具有靠近图像边缘的图案的校准图像。

我也对你写的关于颜色和分辨率不好的内容感到困惑。您是在谈论未失真或校正的图像吗?为什么颜色会不好?

关于opencv - 尼康 D3400 的立体声校准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41528081/

相关文章:

opencv - 如何解释校准结果 (OpenCV)

c++ - 使用 cv::undistort 取消扭曲和居中图像

image - OpenCV:无法正确读取 16 位深度的单 channel png 图像

c++ - C++ 中的 open cv 中有维纳函数吗?

python - cv2.threshold() 错误 (-210)

python - 从手指图像中提取脊和谷

machine-learning - 卷积神经网络

algorithm - 计算图像的动态范围?

python - 如何在 OpenCV 中为视频创建多个模板图像

matlab - 如何使用已知的相机参数在 Matlab 中消除图像失真?