我试图使用这个很棒的库,但我遇到了问题我无法修复它。我花了最近5个小时尝试,但我完全没有想法。
我使用CocoaPods添加了库,它给了我一个错误,所以我把它添加为一个静态库(想到这个问题与库集成相关的东西)并且我也无法使它工作,我有同样的错误。我正在尝试应用自定义过滤器。这是我的应用自定义过滤方法:
- (id) applyLookupImage:(NSString*) filename
{
UIImage *filteredimage = [self duplicate];
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:filteredimage];
GPUImagePicture *lookupImageSource = [[GPUImagePicture alloc] initWithImage:[UIImage imageNamed:filename]];
GPUImageLookupFilter *lookupFilter = [[GPUImageLookupFilter alloc] init];
[stillImageSource addTarget:lookupFilter];
[lookupImageSource addTarget:lookupFilter];
[stillImageSource processImage];
[lookupImageSource processImage];
[lookupFilter imageFromCurrentFramebuffer];
filteredimage = [lookupFilter imageFromCurrentFramebuffer];
return filteredimage;
}
执行此方法后,我收到以下错误:
FBO大小:0.000000,0.000000 2014-05-27 17:51:33.507 * 断言 失败 - [GPUImageFramebuffer generateFramebuffer] /GPUImage/framework/Source/GPUImageFramebuffer.m:156
这是异常引发的行:
CVReturn err = CVPixelBufferCreate(kCFAllocatorDefault, (int)_size.width, (int)_size.height, kCVPixelFormatType_32BGRA, attrs, &renderTarget);
if (err)
{
NSLog(@"FBO size: %f, %f", _size.width, _size.height);
NSAssert(NO, @"Error at CVPixelBufferCreate %d", err);
}
我在xCode5.1上
任何想法?!?!
谢谢!
答案 0 :(得分:2)
如果你使用的是最新版本的框架,那么你就错过了
[lookupFilter useNextFrameForImageCapture];
后面
[lookupImageSource addTarget:lookupFilter];
-imageFromCurrentFramebuffer
需要返回非零值。该调用会在图像捕获期间触发为该过滤器保留后备帧缓冲区,否则该过滤器的帧缓冲区将立即返回到缓存中。
另外,请确保您的输入UIImages都不是nil且尺寸非零。