Como obter cantos usando GPUImageHarrisCornerDetectionFilter

Estou tentando obter os pontos de canto de uma imagem estática usandoGPUImageHarrisCornerDetectionFilter.

Analisei o código de exemplo do projeto, analisei a documentação e analisei este post sobre a mesma coisa:A detecção de canto GPUImage Harris em uma UIImage existente fornece uma saída de tela preta

Mas não posso fazê-lo funcionar - e tenho dificuldade em entender como isso deve funcionar com imagens estáticas.

O que tenho neste momento é o seguinte:

func harrisCorners() -> [CGPoint] {
    var points = [CGPoint]()

    let stillImageSource: GPUImagePicture = GPUImagePicture(image: self.image)
    let filter = GPUImageHarrisCornerDetectionFilter()

    filter.cornersDetectedBlock = { (cornerArray:UnsafeMutablePointer<GLfloat>, cornersDetected:UInt, frameTime:CMTime) in
        for index in 0..<Int(cornersDetected) {
            points.append(CGPoint(x:CGFloat(cornerArray[index * 2]), y:CGFloat(cornerArray[(index * 2) + 1])))
        }
    }

    filter.forceProcessingAtSize(self.image.size)
    stillImageSource.addTarget(filter)
    stillImageSource.processImage()

    return points
}

Esta função sempre retorna[] então obviamente não está funcionando.

Um detalhe interessante - compilei o projeto FilterShowcaseSwift a partir de exemplos da GPUImage, e o filtro não consegue encontrar cantos muito claros, como em uma folha de papel em um fundo preto.

questionAnswers(1)

yourAnswerToTheQuestion