Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
Iphone 在CameraView上应用实时GpuImage_Iphone_Xcode_Xcode4.6_Gpuimage - Fatal编程技术网

Iphone 在CameraView上应用实时GpuImage

Iphone 在CameraView上应用实时GpuImage,iphone,xcode,xcode4.6,gpuimage,Iphone,Xcode,Xcode4.6,Gpuimage,我目前正在开发一个相机过滤器应用程序,它应该使用GPUImage框架。 我已经让自定义相机工作,现在我只想在我得到的uiview上应用一个过滤器。所以过滤器一直在我的UIView上,它应该用过滤器保存图片。 如果您能帮助我,我将非常感激。该项目的主要自述文件描述了您为此所需的确切步骤: GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPres

我目前正在开发一个相机过滤器应用程序,它应该使用GPUImage框架。 我已经让自定义相机工作,现在我只想在我得到的uiview上应用一个过滤器。所以过滤器一直在我的UIView上,它应该用过滤器保存图片。
如果您能帮助我,我将非常感激。

该项目的主要自述文件描述了您为此所需的确切步骤:

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项目的首页)清楚地解释了所有这些