Как применить фильтр к изображению в Swift?

Сегодня я много искал об этом, нашел кое-что, но я все еще запутался.

Например, у меня есть следующий фильтр:

введите здесь описание изображения

Результат должен быть:

введите здесь описание изображения

Как я могу применить его к своему изображению?

Я знаю, как применять такие типы эффектов, как: PhotoEffectNoir или CIPhotoEffectChrome, но как я могу применить эту матрицу (или я не знаю, как ее назвать) к своему UIImage?

Может ли кто-нибудь помочь мне с небольшим примером?


person John Doe    schedule 16.01.2016    source источник
comment
Что это за фильтр? Это ядро? Какой вы хотите получить результат?   -  person jtbandes    schedule 16.01.2016
comment
@jtbandes это фильтр древнего эффекта. я обновил вопрос   -  person John Doe    schedule 16.01.2016


Ответы (1)


Пока это будет лишь намеком на ответ; Я вернусь с более подробной информацией, когда у меня будет время.

Ваше первое изображение — это таблица поиска цветов (также известная как CLUT), иногда также называемая цветовым кубом. Это представление трехмерного массива, в котором координаты x, y и z являются компонентами r, g и b входного цвета, а значение в заданной координате xyz является выходным цветом для этого конкретного входа RGB. (Поскольку она хранится в 2D-изображении, 3D-таблица разбита на срезы.)

Вы можете использовать CLUT для фильтрации в Core Image с помощью CIColorCube. Хитрость заключается в преобразовании вашего изображения CLUT в правильный формат для передачи в качестве параметра этому фильтру.

Вы можете найти несколько примеров построения (а не преобразования изображения) в цветной куб в документах Apple и в другом месте SO.

person rickster    schedule 17.01.2016
comment
Я кое-что сделал здесь: pastebin.com/vpJcqs3e, но когда я применяю свой LUT, мое изображение меняется, но вряд ли значительно , как альфа 0.1. Можете ли вы помочь мне исправить это? не знаю в чем проблема - person John Doe; 17.01.2016
comment
вот новая версия моего кода: pastebin.com/URJFTXgF, все равно не работает =/ - person John Doe; 17.01.2016
comment
не могли бы вы мне помочь, пожалуйста? - person John Doe; 19.01.2016