GPUImage Harris Corner Detection由于glReadPixels而变慢

时间:2014-04-23 08:47:01

标签: gpuimage glreadpixels

我看到glReadPixels是哈里斯角落用黑点读取黑色图像时的主要瓶颈。 FPS从30下降到15.是否可以获得没有glReadPixelsGPUImageCrosshairGenerator的角点坐标?我知道GPUImageRawDataOutput,但不知道如何用它替换glReadPixels方法。

1 个答案:

答案 0 :(得分:0)

在GPUImage中实现的Harris角点检测器的问题不是通过glReadPixels()捕获帧,而是在此之后发生的点提取。这与其他角落探测器,甚至霍夫变换线探测器相同。

问题在于,当使用OpenGL / OpenGL ES时,从像素域中提取稀疏点很棘手。目前,我读取像素,然后在CPU上迭代它们。这是一个非常缓慢的过程。

将来,我计划实现一个histogram pyramid point extractor以允许这主要在GPU上完成,我相信这应该可以更快地提取这些点。但是,Haven还没有时间这么做。