Iphone 在CameraView上应用实时GpuImage
我目前正在开发一个相机过滤器应用程序,它应该使用GPUImage框架。 我已经让自定义相机工作,现在我只想在我得到的uiview上应用一个过滤器。所以过滤器一直在我的UIView上,它应该用过滤器保存图片。Iphone 在CameraView上应用实时GpuImage,iphone,xcode,xcode4.6,gpuimage,Iphone,Xcode,Xcode4.6,Gpuimage,我目前正在开发一个相机过滤器应用程序,它应该使用GPUImage框架。 我已经让自定义相机工作,现在我只想在我得到的uiview上应用一个过滤器。所以过滤器一直在我的UIView上,它应该用过滤器保存图片。 如果您能帮助我,我将非常感激。该项目的主要自述文件描述了您为此所需的确切步骤: GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPres
如果您能帮助我,我将非常感激。该项目的主要自述文件描述了您为此所需的确切步骤:
GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
GPUImageFilter *customFilter = [[GPUImageFilter alloc] initWithFragmentShaderFromFile:@"CustomShader"];
GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, viewWidth, viewHeight)];
// Add the view somewhere so it's visible
[videoCamera addTarget:customFilter];
[customFilter addTarget:filteredVideoView];
[videoCamera startCameraCapture];
首先,创建GPUImageCamera实例,该实例将拉取实时视频。然后,创建所需的任何过滤器(上述代码中的自定义过滤器),并将其作为相机的目标。最后,设置一个GPUImageView实例,在该实例中显示过滤后的摄影机提要,并使其成为过滤器的目标。因此,视频帧将沿着管道从摄影机流到过滤器,再流到视图
如果您希望能够从相机保存照片,则需要使用GPUImageStillCamera而不是上面的摄像机实例。静止相机将提供照相相机的视频预览,并允许您按需拍摄全分辨率照片
同样,框架附带的文档(显示在GitHub项目的首页)中清楚地解释了所有这些内容。项目的主要自述文件描述了实现这一点所需的确切步骤:
GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
GPUImageFilter *customFilter = [[GPUImageFilter alloc] initWithFragmentShaderFromFile:@"CustomShader"];
GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, viewWidth, viewHeight)];
// Add the view somewhere so it's visible
[videoCamera addTarget:customFilter];
[customFilter addTarget:filteredVideoView];
[videoCamera startCameraCapture];
首先,创建GPUImageCamera实例,该实例将拉取实时视频。然后,创建所需的任何过滤器(上述代码中的自定义过滤器),并将其作为相机的目标。最后,设置一个GPUImageView实例,在该实例中显示过滤后的摄影机提要,并使其成为过滤器的目标。因此,视频帧将沿着管道从摄影机流到过滤器,再流到视图
如果您希望能够从相机保存照片,则需要使用GPUImageStillCamera而不是上面的摄像机实例。静止相机将提供照相相机的视频预览,并允许您按需拍摄全分辨率照片
同样,框架附带的文档(显示在GitHub项目的首页)清楚地解释了所有这些