Автоматические изображения улучшения
Автоматическая функция улучшения Базового Изображения анализирует изображение для своей гистограммы, содержания области поверхности и свойств метаданных. Это тогда возвращает массив CIFilter
объекты, входные параметры которых уже устанавливаются на значения, которые улучшат проанализированное изображение.
Автоматическое улучшение доступно в iOS v5.0 и позже и в OS X v10.8 и позже.
Автоматические фильтры улучшения
Таблица 3-1 показывает использование Изображения Ядра фильтров для того, чтобы автоматически улучшение изображения. Эти фильтры средство некоторые наиболее распространенные проблемы найдены в фотографиях.
Фильтр | Цель |
---|---|
CIRedEyeCorrection | Восстанавливает красный/янтарный/белый глаз вследствие флэш-памяти камеры |
CIFaceBalance | Корректирует цвет поверхности для предоставления приятных скинтонов |
CIVibrance | Увеличивает насыщенность изображения, не искажая скинтоны |
CIToneCurve | Корректирует контрастность изображений |
CIHighlightShadowAdjust | Корректирует теневые подробные данные |
Используя автоматические фильтры улучшения
Автоматическое улучшение API имеет только два метода: autoAdjustmentFilters
и autoAdjustmentFiltersWithOptions:
. В большинстве случаев Вы захотите использовать метод, обеспечивающий словарь опций.
Можно установить эти опции:
Ориентация изображения, которая важна для фильтров CIRedEyeCorrection и CIFaceBalance, так, чтобы Базовое Изображение могло найти поверхности точно.
Применить ли только красное глазное исправление. (Набор
kCIImageAutoAdjustEnhance
кfalse
.)Применить ли все фильтры кроме красного глазного исправления. (Набор
kCIImageAutoAdjustRedEye
кfalse
.)
autoAdjustmentFiltersWithOptions:
метод возвращает массив фильтров опций, которые Вы тогда захотите объединить в цепочку вместе и примениться к проанализированному изображению, как показано в Перечислении 3-1. Код сначала создает словарь опций. Это тогда получает ориентацию изображения и наборов что как значение для ключа CIDetectorImageOrientation
.
Перечисление 3-1 , Получающее автоматические фильтры улучшения и применяющее их к изображению
NSDictionary *options = @{ CIDetectorImageOrientation : |
[[image properties] valueForKey:kCGImagePropertyOrientation] }; |
NSArray *adjustments = [myImage autoAdjustmentFiltersWithOptions:options]; |
for (CIFilter *filter in adjustments) { |
[filter setValue:myImage forKey:kCIInputImageKey]; |
myImage = filter.outputImage; |
} |
Вспомните, что входные значения параметров уже установлены Базовым Изображением привести к лучшему результату.
Вы не должны применять автоматические фильтры корректировки сразу же. Можно сохранить имена фильтра и значения параметров для позже. Сохранение их позволяет Вашему приложению выполнить улучшения позже без стоимости анализа изображения снова.