【问题标题】:finding chessboard corners with GPUImage使用 GPUImage 查找棋盘角
【发布时间】:2014-04-30 23:16:23
【问题描述】:

我使用 OpenCV (cv::findChessboardCorners) 在 iOS 应用程序中查找棋盘角,但性能不是我需要的。使用 GPUImage 检测棋盘角的最佳(最快/最可靠)方法是什么?是否有另一个适用于 iOS 的 GPU 加速库可以用于评估棋盘检测?

【问题讨论】:

    标签: ios gpuimage


    【解决方案1】:

    您需要 GPUImageHarrisCornerDetectionFilter 或其变体立即执行此操作。您在其上设置一个块,它将返回检测到的角的数组(在标准化视图坐标中)和检测到的总角的数量。请参阅 FilterShowcase 和特征检测示例应用程序,了解其在实践中的工作原理。

    我正在研究一种更快的角点检测器,以及一种不必对 CPU 上的所有图像像素进行光栅化以提取最终角点的方法。这两种方法都应该可以提高角点检测性能,但您现在可以使用上述方法。

    【讨论】:

    • 谢谢布拉德。边缘检测在 GPUImage 中非常有效。有没有办法进行链式egde检测和角点检测(或不这样做的理由)?
    • @Rupert - 不太清楚你在问什么。您是在问如何进行线路检测?如果是这样,看看我的(目前很粗糙,诚然)霍夫线检测器。目前有点吵,直到我得到更好的非最大抑制。
    • 我需要在图像中找到棋盘的位置。 HarrisCornerDecetionFiler 不知何故错过了我棋盘的一半,但我确实看到棋盘轮廓,每个小方块都用边缘检测器非常清晰。因此,为了改进棋盘的定位,我正在考虑:1. 转换为灰度,2. 找到图像中的边缘,3. 过滤到属于棋盘的边缘。
    • @Rupert - 您可以尝试调整 Harris 角检测器的灵敏度参数(尝试使用 FilterShowcase 示例进行实时预览)。此外,它在单一尺寸范围内运行,因此它可能无法捕捉更大范围内的角落。您可以尝试减小输入角检测器的图像大小,以便在检测角时使其在更大范围内运行。另外,我认为它仅限于它现在可以一次检测到的最大拐角数量。
    猜你喜欢
    • 1970-01-01
    • 2020-11-23
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    相关资源
    最近更新 更多