tut*_*web 0 opencv computer-vision camera-calibration corner-detection
我发现此帖子OpenCV findChessboardCorners非常慢,但是它不能完全回答我的问题。
我在树莓派上运行相机校准工具,并且要花费大量时间来检测全分辨率图像中的棋盘角。我目前正在重新缩放它们,但是计算出的参数无法用于完整尺寸的图像。
我当时想做的一件事是在较小的图像中检测到角点4倍,然后将角点坐标乘以4,但结果却不尽相同。
您是否认为有办法加快或插入另一个拐角检测?
我正在使用python实现(cv2)
谢谢
大部分时间都花在棋盘格提取上,该过程(大致而言)包括三个步骤:检测图像中的棋盘格角,将其细化为亚像素分辨率,并将其与标称棋盘格匹配。
在这三个步骤中,第一步是最昂贵的,因为它涉及处理整个图像。因此,您可以通过检测角点并以较低的分辨率匹配棋盘格(使用cv2.findChessboardCorners)来获得一些时间。然后,您可以将其坐标重新缩放为全分辨率,并对其进行子像素优化(cv2.find4QuadCornersSubpix),以提高准确性。优化例程适用于检测到的拐角附近的较小区域,因此它需要的内存要少得多-这在处理缓存大小有限的CPU时很有用。
此过程也可用于其他原因,请参阅此其他答案。