Ios 使用GPUImage更改视频上的过滤器

Ios 使用GPUImage更改视频上的过滤器,ios,gpuimage,Ios,Gpuimage,我在尝试更换过滤器时遇到问题 在我的viewDidLoad上,我执行以下操作: filter = [[GPUImageSepiaFilter alloc] init]; [videoCamera addTarget:filter]; filterView = (GPUImageView *)self.view; [filter addTarget:filterView]; filterView是在.h上用GPUImageView*filterView声明的 我的问题在于这种方法: -(void

我在尝试更换过滤器时遇到问题

在我的viewDidLoad上,我执行以下操作:

filter = [[GPUImageSepiaFilter alloc] init];
[videoCamera addTarget:filter];
filterView = (GPUImageView *)self.view;
[filter addTarget:filterView];
filterView是在.h上用GPUImageView*filterView声明的

我的问题在于这种方法:

-(void)changeEffect
{
[videoCamera removeAllTargets];
[filter removeAllTargets];
filter = [[GPUImageColorInvertFilter alloc] init];
[videoCamera addTarget:filter];
[filter addTarget: filterView];
}

在指令[filter addTarget:filterView]中,我收到以下错误:*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'*-[\uu NSArrayM insertObject:atIndex:::::]:对象不能为零'

您可能必须在添加之前执行此操作

filterView = (GPUImageView *)self.view;