Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCV';s针孔校准模型降低视野,我应该使用鱼眼吗?_Opencv_Camera Calibration_Opencv3.0_Fisheye_Fieldofview - Fatal编程技术网

OpenCV';s针孔校准模型降低视野,我应该使用鱼眼吗?

OpenCV';s针孔校准模型降低视野,我应该使用鱼眼吗?,opencv,camera-calibration,opencv3.0,fisheye,fieldofview,Opencv,Camera Calibration,Opencv3.0,Fisheye,Fieldofview,我有一个广角相机,规格上说是150度左右,但对我来说,水平角度大约是100度,垂直角度大约是80度。无论如何,一旦校准,这些视场将分别缩小约20度 对于cv::calibrationMatrixValues函数返回的值和经过校正的帧(其中裁剪了较大的外部部分),都是如此 这种行为正常吗?如果是,我可以使用较新的鱼眼相机型号避免此问题吗?用鱼眼可以知道测量的FOV吗?我找不到像fisheye::calibrationMatrixValues这样的东西。cv::GetOptimizeNewCamer

我有一个广角相机,规格上说是150度左右,但对我来说,水平角度大约是100度,垂直角度大约是80度。无论如何,一旦校准,这些视场将分别缩小约20度

对于cv::calibrationMatrixValues函数返回的值和经过校正的帧(其中裁剪了较大的外部部分),都是如此


这种行为正常吗?如果是,我可以使用较新的鱼眼相机型号避免此问题吗?用鱼眼可以知道测量的FOV吗?我找不到像fisheye::calibrationMatrixValues这样的东西。

cv::GetOptimizeNewCameraMatrix可以完成这项工作。

cv::GetOptimizeNewCameraMatrix可以完成这项工作。

我认为对于您的情况,最好的解决方案是使用Open cv 3.4.X中的cv::fisheye模块。(C++,微软Windows)。未失真图像将比初始图像大得多,但其大小有限


在我的例子中,我使用cv::fisheye::calibrate生成K和D(摄影机矩阵和径向畸变系数矩阵)。然后,我使用cv::fisheye::InitUnderdistortyMap生成X和Y坐标的贴图。最后,我使用cv::remap通过InitUndortRectiveyMap中的贴图从fisheye相机中映射到无失真图像。

我认为对于您的情况,最好的解决方案是使用Open cv 3.4.X中的cv::fisheye模块。(C++,微软Windows)。未失真图像将比初始图像大得多,但其大小有限

在我的例子中,我使用cv::fisheye::calibrate生成K和D(摄影机矩阵和径向畸变系数矩阵)。然后,我使用cv::fisheye::InitUnderdistortyMap生成X和Y坐标的贴图。最后,我使用cv::remap通过InitUndortRectiveyMap中的贴图从鱼眼相机中获得无失真图像