Что делает CIImageAccumulator? - PullRequest
       30

Что делает CIImageAccumulator?

1 голос
/ 07 марта 2019

Проблема

В документации Apple указывается, когда можно использовать CIImageAccumulater, но, к сожалению, в ней не говорится, что она на самом деле делает.

Класс CIImageAccumulator позволяет использовать обратную связьобработка изображений для таких вещей, как итерационные операции рисования или моделирование динамики жидкости.Вы используете объекты CIImageAccumulator в сочетании с другими классами Core Image, такими как CIFilter, CIImage, CIVector и CIContext, чтобы использовать преимущества встроенных фильтров Core Image при обработке изображений.

Мне нужноисправить код, который использовал CIImageAccumulator.Мне кажется, что все, что он должен сделать, несмотря на его название, это вернуть CIImage со всеми CIFilter, примененными к изображению.Однако добавление первого изображения затемняет вывод.Это не то, что я ожидал бы от аккумулятора или любого другого оператора, который обеспечивает обработку изображений на основе обратной связи.

Вопрос

Может кто-нибудь ответить, какая логика / алгоритм используется при настройке и получении изображенийв и из CIImageAccumulator

1 Ответ

2 голосов
/ 07 марта 2019

Самым большим преимуществом CIImageAccumulater является то, что сохраняет его содержимое между различными этапами рендеринга (в отличие от CIFilter или CIImage). Это позволяет вам использовать состояние предыдущего шага рендеринга, смешивать его с чем-то новым и снова сохранять результат в аккумуляторе.

Основной пример использования Apple - интерактивное рисование: вы извлекаете текущее изображение из аккумулятора, смешиваете новый штрих, который пользователь только что нарисовал жестом поверх него, и сохраняете полученное изображение обратно в аккумулятор. Затем вы отображаете содержимое аккумулятора. Вы можете прочитать об этом здесь .

...