【发布时间】:2013-04-04 06:09:34
【问题描述】:
我正在尝试使用 CoreImage 框架的 CIColorCube CIFilter,我尝试了对图像的任意 3D Luts,我将 3D luts 包装到 NSData,然后作为参数传递给 CIColorCube CIFilter。但我收到 EXC_BAD_ACCESS 异常.. 这是我的代码:
CIContext *context = [CIContext contextWithOptions:nil]; CIFilter *filter = [CIFilter filterWithName:@"CIColorCube"];
uint8_t color_cube_data[4096*4] = {
153, 255, 255, 1,
170, 255, 255, 1,
186, 255, 255, 1,
204, 255, 255, 1,
221, 255, 255, 1,
237, 255, 255, 1,
255, 255, 255, 1};
NSData * cube_data =[NSData dataWithBytes:color_cube_data length:4096*sizeof(float)*4];
[filter setValue:originalImage forKey:kCIInputImageKey];
[filter setValue:[NSNumber numberWithFloat:16] forKey:@"inputCubeDimension"];
[filter setValue:cube_data forKey:@"inputCubeData"];
CIImage *result = [filter valueForKey:kCIOutputImageKey];
CGImageRef cgImage =[context createCGImage:result fromRect:originalImage.extent];
imgVw_Result.image=[UIImage imageWithCGImage:cgImage];
我是否遗漏了什么,请帮忙 谢谢
【问题讨论】:
-
[_colorCube setValue:color_cube_data forKey:@"inputCubeData"];
-
我想你说的是 [filter setValue:cube_data forKey:@"inputCubeData"];行,我认为这不是问题
标签: ios nsdata exc-bad-access core-image cifilter