Я пытаюсь обработать изображение с помощью 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]];
Но я получил ноль выходное изображение из фильтра.
Я также пытался использовать CIHueAdjust с тем же результатом.
Заранее
ОБНОВЛЕНИЕ : Я нашел решение. Необходимо было выделить новый CIImage , а не только передать ссылку на UIImage.CIImage таким образом:
CIImage *inputImage = [[CIImage alloc] initWithImage:self];