- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好,我一直在使用 Python 和 OpenCV 深入研究计算机视觉,并尝试校准我购买的两台相机,以便进行一些 3D 立体重建,但我遇到了一些问题。
我主要关注的是这个tutorial为了分别校准相机(我将其应用于两个相机),然后我打算使用 cv2.stereoCalibrate 来获得相对校准。
通过单相机校准,一切似乎都正常工作,我得到了非常低的重新投影错误,并且据我所知,矩阵看起来不错。这里留下单相机标定的结果。
cameraMatrix1 和 distCoeffs1:
[[ 951.3607329 0. 298.74117671]
[ 0. 954.23088299 219.20548594]
[ 0. 0. 1. ]]
[[ -1.07320015e-01 -5.56147908e-01 -1.13339913e-03 1.85969704e-03
2.24131322e+00]]
cameraMatrix2 和 distCoeffs2:
[[ 963.41078117 0. 362.85971342]
[ 0. 965.66793023 175.63216871]
[ 0. 0. 1. ]]
[[ -3.31491728e-01 2.26020466e+00 3.86190151e-03 -2.32988011e-03
-9.82275646e+00]]
因此,在完成这些之后,我执行以下操作(我修复了内在函数,因为我已经从之前的校准中知道了它们):
stereocalibration_criteria = (cv2.TERM_CRITERIA_MAX_ITER + cv2.TERM_CRITERIA_EPS, 100, 1e-5)
stereocalibration_flags = cv2.CALIB_FIX_INTRINSIC
stereocalibration_retval, cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, R, T, E, F = cv2.stereoCalibrate(objpoints,imgpoints_left,imgpoints_right,cameraMatrix1,distCoeffs1,cameraMatrix2,distCoeffs2,gray_left.shape[::-1],criteria = stereocalibration_criteria, flags = stereocalibration_flags)
我已经尝试了几次更改stereoCalibrate的标志并切换矩阵,看看我是否在顺序上弄错了,这很重要,但我仍然受阻,并得到了大约30的retval(并且在我试图纠正图像,当然结果是一场灾难)。
我还尝试使用互联网上的一些校准图像,并且确实得到了相同的结果,因此我认为问题不在于我拍摄的图像。如果有人能指出我正确的方向或知道可能是什么,那将非常非常受欢迎。
最佳答案
事实证明,我使用的图像顺序对于左右相机来说是不一样的......我正在使用
images_left = glob.glob('Calibration/images/set1/left*' + images_format)
images_right = glob.glob('Calibration/images/set1/right*' + images_format)
当我应该使用类似的东西时:
images_left = sorted(glob.glob('Calibration/images/set1/left*' + images_format))
images_right = sorted(glob.glob('Calibration/images/set1/right*' + images_format))
这是因为 glob 以明显随机的顺序获取图像,所以我试图匹配错误的图像。现在我终于得到了 0.4 retval,这还不错。
关于python - 成功的 cv2.calibrateCamera 后如何获得良好的 cv2.stereoCalibrate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50630769/
我想知道使用cvCalibrateCamera2来查找两个相机之间的旋转和平移的可能性有多大。 以您刚刚完成棋盘校准的场景为例,其中棋盘对于两个图像平面都是可见的。如果我然后将一个相机中的这些点作为
我正在校准我的相机,以消除图像失真。为了实现这个目标,我正在使用 OpenCV 库的校准相机功能。所以我用棋盘在真实引用系统中取点来提取点数。然后我用mm将这些点转换成真实的引用系。所以最后我得到两个
几天来,我一直在用棋盘示例进行相机校准。一切都很好(找到并显示角,然后馈送到数组)直到我调用最终函数 calibrateCamera。比我得到断言错误: OpenCV 错误:calibrateCame
我正在使用圆网格校准相机。相机位于 table 上方的固定位置,因此我使用单张图像进行校准。 (我将使用的所有对象都是平的,并且与我的校准图像在同一张 table 上。)我将圆心的真实位置放入 obj
我正在使用 calibrateCamera 执行相机校准。部分输出是一组 Rodrigues 旋转矢量和 3-D 平移矢量。 我对相机的世界位置感兴趣。如果我直接绘制翻译点,结果看起来不正确。我觉得我
我正在尝试为三角测量过程获取一个3x4 相机矩阵,但是calibrateCamera()仅返回 3x3 和 4x1 矩阵。 如何从这些矩阵中得到 3x4? 提前致谢! 最佳答案 calibrateCa
一段时间以来,我一直在尝试使用 Opencv calibrateCamera() 函数来校准我的相机。我遵循了 opencv 示例程序中描述的相同过程。我试图首先加载 10 9 x 6 棋盘图像。然后
我正在尝试让calibrateCamera在我的Node.js后端上工作。该库运行正常,但是如果输入错误,我会遇到OpenCV函数无法给出任何错误消息的麻烦。我有点在黑暗中飞翔。 但这不是重点。我已经
我想将 findChessboardCorners 与 calibrateCamera 一起使用,但在使用 calibrateCamera 时遇到错误。输出不是很有帮助。 OpenCV Error:
我正在使用 OpenCV 的 calibrateCamera 并试图了解它如何计算重投影误差以及该误差代表什么。它似乎是投影点和测量图像点之间的(欧几里得)距离的 RMS——对吗?然而,最终的重投影误
当我尝试使用 cv2.calibrateCamera 校准相机时出现以下错误: rms, camera_matrix, dist_coefs, rvecs, tvecs = cv2.calibrate
我试图从函数 cv::calibrateCamera() 中获取 cameraMatrix,实际上我不确定我做的是否正确,我最初的想法是: 获取来自同一相机的两张输入图像。 提取image_1和ima
我有一个 python 脚本,它使用 calibratecamera2 方法从棋盘的几个 View 校准相机。成功校准后,我追踪所有原始点并绘制一些图并再次计算重新投影误差。令我惊讶的是,opencv
我正在尝试使用 cv::calibrateCamera 来校准相机+投影仪系统。虽然它有时似乎有效,但在许多情况下,估计的解决方案似乎与正确的解决方案相去甚远。 这是一个显示问题的代码示例(包括所有数
我正在使用 VisualStudio 2010 和 OpenCV 3.0。我想校准相机,我遇到的问题与 this 中描述的基本相同去年发的帖子,一直没回复。我正在调用 calibrateCamera,
我有一个立体相机装置。我已经捕获了一个 chessboardPattern 序列(相同的序列,每次曝光两张照片)。我使用 cv2.calibrateCamera 对各个相机执行了单个相机校准。 我的问
背景: 我目前正在使用 OpenCV 进行立体视觉项目。我正在尝试从一组两个校正图像创建视差图,但我没有得到我期望的结果。查看校正后的图像时,图像之间存在明显的垂直偏移,校正后不应存在。我目前正在寻找
我正在尝试使用OpenCV calibrateCamera函数来校准我的MSFT LifeCam 3000 HD网络摄像头。为此,我了解需要知道fx和fy(x和y轴的焦距)。但是,我很难找到这些信息。
大家好,我一直在使用 Python 和 OpenCV 深入研究计算机视觉,并尝试校准我购买的两台相机,以便进行一些 3D 立体重建,但我遇到了一些问题。 我主要关注的是这个tutorial为了分别校准
calibrateCamera 的定义是:CV_EXPORTS_W double calibrateCamera( InputArrayOfArrays objectPoints,InputArray
我是一名优秀的程序员,十分优秀!