首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GPUImage2 : HarrisCornerDetector未调用回调

GPUImage2 : HarrisCornerDetector未调用回调
EN

Stack Overflow用户
提问于 2017-05-15 21:10:35
回答 2查看 236关注 0票数 0

我在使用GPUImage实现角点检测时遇到了一个奇怪的问题。

我尝试使用Brad下载的滤镜模板作为起点,但是虽然我可以生成图像和角点的复合视图(作为单个白色像素),但当我尝试添加十字准线生成器时,回调函数从未被调用过。

在我的简化示例中,我将输出视图配置为RenderView,将videoCamera定义为Camera?

代码语言:javascript
复制
    do {
        videoCamera = try Camera(sessionPreset:AVCaptureSessionPreset640x480, location:.backFacing)
        videoCamera!.runBenchmark = true
    } catch {
        videoCamera = nil
        print("Couldn't initialize camera with error: \(error)")
    }

    let filter = HarrisCornerDetector()

    let crosshairGenerator = CrosshairGenerator(size: Size(width: 480, height: 640))

    filter.cornersDetectedCallback = { corners in
        crosshairGenerator.renderCrosshairs(corners)
    }
    videoCamera! --> filter

    let blendFilter = AlphaBlend()
    videoCamera! --> blendFilter --> renderView
    //crosshairGenerator --> blendFilter    // INPUT 1: if I add this line, the callback never happens
    filter --> blendFilter                  // INPUT 2: with this input to blendFilter, the callback is good

如图所示,回调函数如预期的那样被调用,并且我在输出中看到了小白点。

如果我删除注释以启用INPUT 1,并注释掉INPUT 2,则显示将只显示摄像头,并且永远不会调用角点检测回调。

Brad提供的示例项目可以在我的设备上运行,所以我知道没有硬件或iOS问题!

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2017-10-20 22:47:32

您忘记输入您的十字准线宽度

crosshairGenerator.crosshairWidth = 15.0

并且没有你声明的门槛

票数 0
EN

Stack Overflow用户

发布于 2019-03-07 03:18:43

使Harris-detector对象成为实例属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43980462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档