GPUImage2:HarrisCornerDetector不调用callback

我有一个奇怪的问题,使用GPUImageangular落检测。

我试图使用从Brad的下载filter模板作为起点,但虽然我可以生成图像和angular点(如单个白色像素)的复合视图,当我尝试添加在十字线发生器,callback函数永远不会被调用。

在我简化的例子中,我有一个输出视图configuration为RenderView和videoCamera定义为Camera?

  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 

如图所示,callback函数按预期调用,并且在输出中看到很less的白点。

如果删除注释以启用INPUT 1,并注释掉INPUT 2,则显示屏仅显示摄像头,并且angular落检测callback从不会被调用。

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

有什么想法吗?

你忘了input你的十字线宽度

crosshairGenerator.crosshairWidth = 15.0

而且没有你宣布的门槛