在iPhone上使用OpenGL ES对图像进行卷积可能? [英] Convolving an image with OpenGL ES on iPhone: possible?
问题描述
我已经google了几次,但我没有得到一个正确的答案。我有一个矩阵,我想与一个离散滤波器(例如Sobel算子用于边缘检测)卷积。是否可以用加速的方式在iPhone上使用OpenGL ES?
I've googled around a few times, but I have not gotten a straight answer. I have a matrix that I would like to convolve with a discrete filter (e.g. the Sobel operator for edge detection). Is it possible to do this in an accelerated way with OpenGL ES on the iPhone?
如果是,怎么办?如果不是,还有其他高性能的技巧,我可以用来加快操作吗?向导ARM组装操作可以做到快吗?最终我想在iPhone的ARM处理器上执行尽可能快的卷积。
If it is, how how? If it is not, are there other high-performance tricks I can use to speed up the operation? Wizardly ARM assembly operations that can do it fast? Ultimately I want to perform as fast of a convolution as possible on an iPhone's ARM processor.
推荐答案
您应该能够在OpenGL ES 2.0下使用可编程着色器。我在 iTunes U 。
You should be able to do this using programmable shaders under OpenGL ES 2.0. I describe OpenGL ES 2.0 shaders in more detail in the video for my class on iTunes U.
虽然我没有自己进行图像卷积,但我为Mac和iOS描述了一些GPU加速的图像处理。此处。我提供了一个使用GLSL着色器的示例应用(基于Core Image过滤器