Debería poder hacer esto usando sombreadores programables en OpenGL ES 2.0. Describo los sombreadores OpenGL ES 2.0 con más detalle en el video de mi clase en iTunes U.
Aunque no he realizado yo mismo la convolución de imagen, describo algunos procesadores de imagen acelerados por GPU para Mac y iOS
here. Presento un
sample application que usa sombreadores GLSL (basados en los filtros Core Image desarrollados por Apple) que hace un seguimiento en color en tiempo real de la alimentación de la cámara del iPhone.
Desde que escribí esto, he creado un open source framework basado en el ejemplo anterior que tiene filtros de convolución de imagen incorporados, que van desde la detección de bordes de Sobel hasta los núcleos de convolución personalizados de 3x3. Pueden ejecutarse hasta 100 veces más rápido que las implementaciones de CPU.
Sin embargo, si tuviera que hacer esto en la CPU, es posible que pueda utilizar el Accelerate framework para ejecutar algunas de las operaciones en la unidad NEON SIMD del iPhone. En particular, las operaciones de FFT (que generalmente son un componente clave en los filtros de convolución de imágenes, o eso he escuchado) pueden obtener una aceleración de ~ 4-5X usando las rutinas que Apple proporciona aquí.
ES 1.1 o 2.0? – genpfault
Cualquiera que sea el soporte para iPhone 4 e iOS 4.1, que creo que es OpenGL ES 2.0 – gonzojive