我已经找到了OpenCV findChessboardCorners very slow这个帖子,但是它不能完全回答我的问题。
我在树莓派上运行相机校准工具,并且要花费大量时间来检测全分辨率图像中的棋盘角。我目前正在重新缩放它们,但是计算出的参数无法用于完整尺寸的图像。
我当时想做的一件事是在较小的图像中检测到角点4倍,然后将角点坐标乘以4,但结果却不尽相同。
您是否认为有办法加快或插入另一个拐角检测?
我正在使用python实现(cv2)
谢谢
最佳答案
大部分时间都花在棋盘格提取上,这大致包括三个步骤:检测图像中的棋盘格角,将其精炼为亚像素分辨率,并将其与标称棋盘格匹配。
在这三个步骤中,第一步是最昂贵的,因为它涉及处理整个图像。因此,您可以通过检测角点并以较低的分辨率匹配棋盘格(使用cv2.findChessboardCorners)来获得一些时间。然后,您可以将其坐标重新缩放为全分辨率,并对其进行子像素优化(cv2.find4QuadCornersSubpix),以提高准确性。优化例程适用于检测到的拐角附近的较小区域,因此它需要的内存要少得多-这在处理缓存大小有限的CPU时很有用。
由于其他原因,此过程也很有用,请参阅this other answer。
关于opencv - 可以加快ChessboardboardCorners的查找速度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48892301/