如何避免cv2.undistort造成的延迟?

问题描述 投票:0回答:1

我在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)

所以基于这段代码,我应该取消扭曲每一帧,这是耗时的,有什么办法来设置相机的参数,然后使用机器视觉,或任何其他方式?

python opencv computer-vision real-time camera-calibration
1个回答
1
投票

的问题 undistort 是每次调用它时,它都会重新计算从扭曲像素到无扭曲像素的映射。你只需要计算一次坐标变换。你可以使用 cv.initUndistortRectifyMap 返回相应的映射(见 文件 这里)。) 然后你可以使用函数 cv.remap.

© www.soinside.com 2019 - 2024. All rights reserved.