Фильтр фотографии Wratten в python / numpy

Я пишу приложение, в котором я хочу иметь возможность применять фильтры фотографий к изображению, аналогичные инструменту Photoshop Adjustments-> Photo Filter.

Думаю, у меня есть смутное представление о процессе, но если бы кто-нибудь мог заполнить здесь какие-либо детали, это было бы здорово!

1) Во-первых, я думаю, мне нужно получить сопоставление номеров wratten фильтров с кривыми спектра (я не смог их найти. Лучшее, что я нашел, это pdf изображение стола, который действительно отстой, вводить вручную).

2) Затем мне нужно преобразовать каждый пиксель из rgb в цветовой спектр. (Это эквивалент HSV?)

3) Сопоставьте каждый пиксель на основе интерполяции его точки на кривой из шага 1. (Или это 1.0, поскольку фотофильтры основаны на передаче?)

4) Конвертируйте результат обратно в rgb.

Однажды, когда мне стало скучно, я написал код для извлечения параметров, необходимых для имитации эффекта тонирования в любом заданном тонированном изображении, и создал файл Photoshop .ACV (Adobe Curves File), который я мог бы применить к другим изображениям. У вас есть доступные изображения с фильтром Wratten? Процесс описан здесь - я, вероятно, мог бы сделать это сейчас на Python, если он работает для фильтров Wratten ... stackoverflow.com/a/48498270/2836621

Mark Setchell 27.08.2018 21:25

У вас есть набор изображений, снятых с фильтром и без него? Вы можете узнать необходимые параметры. Если бы парные изображения содержали самые разные цвета, это помогло бы.

kevinkayaks 28.08.2018 01:46

Ой, извините, я вижу, что это искусственный фильтр. Если вы можете взять пять изображений, сопоставить их с помощью фильтра и загрузить куда-нибудь исходные и отфильтрованные изображения, я бы хотел поработать над этим. Один из подходов - изучить нелинейное отображение f(p) = q между входными и выходными пикселями.

kevinkayaks 28.08.2018 02:14

Судя по комментариям, я должен быть более конкретным. Я хочу имитировать не только один конкретный фильтр, а скорее, я хочу, чтобы приложение, которое я пишу, могло применять любой заданный. Я изменил вопрос, чтобы лучше отразить это.

TheHeadlessSourceMan 06.09.2018 02:28

Вы нашли что-нибудь, что могло бы воспроизвести алгоритм фотофильтра? Мне тоже интересно.

priseJack 24.07.2020 15:00
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
5
155
0

Другие вопросы по теме