Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用OpenGL ES 2.0调整图像大小_Ios_Image Processing_Avfoundation_Opengl Es 2.0 - Fatal编程技术网

Ios 使用OpenGL ES 2.0调整图像大小

Ios 使用OpenGL ES 2.0调整图像大小,ios,image-processing,avfoundation,opengl-es-2.0,Ios,Image Processing,Avfoundation,Opengl Es 2.0,我的问题很简单:我必须处理视频的每一帧。该过程计算要在原始帧上裁剪的区域。为了获得更好的性能,我必须缩小原始帧的比例。如今,这要归功于一个专门的图书馆。然而,它是缓慢的。我们想知道是否有任何可能缩小这个框架感谢OpenGL ES 2.0 glsl 戴维 < P>如果你使用AV Foundation从磁盘加载视频或者从摄像机中提取视频,你可以使用我的开源框架来处理对你的底层OpenGL ES处理。 具体来说,您可以使用GPUImageCropFilter,使用CGRect中的标准化0.0-1.0坐

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


戴维

< P>如果你使用AV Foundation从磁盘加载视频或者从摄像机中提取视频,你可以使用我的开源框架来处理对你的底层OpenGL ES处理。
具体来说,您可以使用GPUImageCropFilter,使用CGRect中的标准化0.0-1.0坐标裁剪出输入视频的选定区域。FilterShowcase示例显示了这在实际中如何用于摄像机的实时视频。有了这个,你不需要触摸任何手动OpenGL ES API调用,如果你不想要。

如果你使用AV Foundation从磁盘加载视频或者从相机拉视频,你可以使用我的开源框架来处理你的底层OpenGES ES处理。
具体来说,您可以使用GPUImageCropFilter,使用CGRect中的标准化0.0-1.0坐标裁剪出输入视频的选定区域。FilterShowcase示例显示了这在实际中如何用于摄像机的实时视频。有了它,如果您不想的话,就不需要手动调用OpenGL ES API。

最后,我将使用帧缓冲区对象来渲染纹理。我会将视口设置为所需大小,并像往常一样渲染纹理。要恢复下采样图像,我将使用glGetReadPixels


David

最后,我将使用帧缓冲区对象渲染纹理。我会将视口设置为所需大小,并像往常一样渲染纹理。要恢复下采样图像,我将使用glGetReadPixels


David

您是否正在尝试实时缩小其规模?或者你是否有可能在展示视频之前进行预处理?事实上,我的处理应该在视频播放过程中实时进行。我将查看wwdc 2012视频。您是否试图实时缩小它们?或者你是否有可能在展示视频之前进行预处理?事实上,我的处理应该在视频播放过程中实时进行。我将查看wwdc 2012视频。感谢Brad,我已经在github中关注了您的项目:)。我将在视频管道的末尾使用您的裁剪过滤器。在裁剪每个帧之前,我需要计算一个边界框。为了处理它,我需要一个二次采样的帧(从高清我需要一个320x200的图像)。我将在视频管道的末尾使用您的裁剪过滤器。在裁剪每个帧之前,我需要计算一个边界框。为了处理它,我需要一个二次采样的帧(从高清我需要一个320x200的图像)。