【问题标题】:GPUImage equivalent of cv::findContoursGPUImage 相当于 cv::findContours
【发布时间】:2012-11-02 08:17:29
【问题描述】:

我的应用在二进制图像上使用 opencv 的 cv::findContours。我现在需要让它成为实时的。 GPUImage 有一个 cannyedge 过滤器,但我找不到与 findContours 相关的任何内容。 GPUImage 是否有任何与 findContours 非常相似的东西?如果没有,有人可以提出替代方案吗? 谢谢

【问题讨论】:

  • 目前没有任何东西可以做到这一点。在 GPU 上工作是一个棘手的问题。我最近正在阅读 Sean O'Connell 的关于此技术的论文:ftp.heanet.ie/mirrors/sourceforge/g/gc/gccl/paper_draft.pdf,但即便如此,他也没有看到在 GPU 上确定连接对象的速度有很大提高。作为一个中途措施,您可以先在 GPU 上运行边缘检测,然后从中读出结果以进行 CPU 密集型处理。你至少会从中得到一点加速。
  • 我想我会走那条路。将过滤器运行为 cv::Mat 后将原始缓冲区转换的最佳/有效方法是什么?我尝试将其转换为 -> UIImage -> cv::Mat 但这需要很长时间。
  • 试试 GPUImageRawDataInput,您应该能够在其中输入原始 RGBA(或 BGRA,我忘了字节顺序)数据,而无需通过 Core Graphics 获取 UIImage。

标签: objective-c image-processing opencv gpuimage


【解决方案1】:

2015 年报告了这方面的一个问题。 https://github.com/BradLarson/GPUImage/issues/2094

该问题的答案表明 GPUImage 目前不提供任何此类替代方案。因此,最好的猜测可能是将 GPUImage 的 Canny 或 Sobel 边缘检测的输出输入到 GPUImage 框架之外的轮廓确定操作中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 2012-09-17
    • 2011-12-31
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    相关资源
    最近更新 更多