使用OpenGL ES 2.0调整图像大小

时间:2012-06-27 21:02:40

标签: ios image-processing avfoundation opengl-es-2.0

我的问题很简单:我必须处理视频的每一帧。该过程计算要在原始帧上裁剪的区域。为了获得更好的性能,我必须缩小原始帧的尺寸。如今,这要归功于一个专门的图书馆。但是,它很慢。我们想知道是否有可能通过OpenGL ES 2.0 glsl来缩小这一帧。

大卫

2 个答案:

答案 0 :(得分:1)

如果您使用AV Foundation从磁盘加载视频或从相机中提取视频,您可以使用我的开源GPUImage框架为您处理基础OpenGL ES处理。

具体来说,您可以使用GPUImageCropFilter使用CGRect中的标准化0.0-1.0坐标裁剪输入视频的选定区域。 FilterShowcase示例显示了这在实践中如何用于来自摄像头的实时视频。这样,如果您不想,则无需触摸任何手动OpenGL ES API调用。

答案 1 :(得分:0)

最后,我将使用帧缓冲区对象来渲染纹理。我将视口设置为所需的大小并像往常一样渲染我的纹理。为了获得缩减采样的图像,我将使用glGetReadPixels。

大卫