如何在iPhone上提升OpenCV性能?

我正在使用AVFoundation捕获视频以及OpenCV在iPhone上进行图像处理.但是,我正在考虑使用OpenGL着色器在192×144灰度图像上进行计算(卷积).

我的问题是:使用OpenGL是否有意义,我的意思是:不会渲染到IplImage(甚至可能吗?)太慢了?或者,有没有办法加速卷积?

编辑

在OpenCV中,我正在使用

IplConvKernel* kernel = cvCreateStructuringElementEx(3, 3, 1, 1, CV_SHAPE_CROSS, NULL);

与cvMorphologyEx.

即使通过诸如Accelerate框架(OpenCV目前不使用,如果我没有遗漏某些东西)之类的东西使用NEON向量操作,在运行简单的3×3卷积内核时,很难击败着色器的性能.例如,我可以使用着色器在iPhone 4上以2.5毫秒的速度在640×480视频帧上运行Sobel边缘检测内核,这对于实时图像处理来说已经足够快了.此外,OpenGL ES着色器在处理显示时具有显着的优势,因为您可以在整个过程中保留GPU端的所有内容,并避免为绘图事件进行昂贵的数据传输.

如果你想要一个简单的方法,我的开源GPUImage框架有一些非常快速的内