Я пытаюсь обработать изображение с помощью Core Image. Для этого я создал категорию UIImage.
Я добавил QuartzCore и CoreImage фреймворки в проект, импортировал CoreImage / CoreImage.h и использовал этот код:
CIImage *inputImage = self.CIImage;
CIFilter *exposureAdjustmentFilter = [CIFilter filterWithName:@"CIExposureAdjust"];
[exposureAdjustmentFilter setDefaults];
[exposureAdjustmentFilter setValue:inputImage forKey:@"inputImage"];
[exposureAdjustmentFilter setValue:[NSNumber numberWithFloat:5.0f] forKey:@"inputEV"];
CIImage *outputImage = [exposureAdjustmentFilter valueForKey:@"outputImage"];
CIContext *myContext = [CIContext contextWithOptions:nil];
return [UIImage imageWithCGImage:[myContext createCGImage:outputImage fromRect:outputImage.extent]];
Но у меня есть nil выводит изображение из фильтра.
Я также пробовал использовать CIHueAdjust с тем же результатом.
Чем вы заранее
ОБНОВЛЕНИЕ : Я нашел решение. Было необходимо выделить новый CIImage , а не только передать ссылку на UIImage.CIImage следующим образом:
CIImage *inputImage = [[CIImage alloc] initWithImage:self];