python - 如何避免cv2.undistort引起的延迟?

标签 python opencv computer-vision real-time camera-calibration

我在python中使用OpenCV来跟踪对象。首先,我应该校准相机,找到属性后,我应该找到对象的精确位置,并且应该是实时的

我找到了这段代码

ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, gray.shape[::-1],None,None)
.
.
.

# undistort
dst = cv2.undistort(img, mtx, dist, None, newcameramtx)

因此,根据此代码,我应该使每一帧都保持不失真,这非常耗时,
有什么方法可以设置相机参数然后使用机器视觉?
或其他方式?

最佳答案

undistort的问题在于,每次调用映射时,它都会重新计算从扭曲像素到未扭曲像素的映射。您只需要计算一次坐标变换。您可以使用cv.initUndistortRectifyMap计算它,它返回相应的映射(请参见此处的documentation)。然后,您可以使用函数cv.remap

关于python - 如何避免cv2.undistort引起的延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61849290/

相关文章:

python - 随机森林在 opencv python (cv2) 中不起作用

python-3.x - OpenCV 图像去噪给出 : Error: -215:Assertation failed

opencv - 通过 'Stereo'而不是 'IR'功能的深度字段

algorithm - 除了 Haar 级联之外,还有哪些算法或方法可用于自定义对象检测?

python - 关于 *multi-key* 外连接的默认/填充值

python - 保存和 fast.ai v1 ULMFiT 模型。到/从磁盘

android - 使用OpenCV在Android中拍摄相机屏幕方向的问题

Python:xml.etree.ElementTree.ParseError:格式不正确(无效 token )

python - 逻辑回归模型不是学习

python - 如何在opencv python中的图像周围添加边框