При использовании imagemagick для применения кривых (convert -function
) выходные данные отличаются от выходных данных, когда я использую корректирующий слой кривых в Photoshop. В чем причина такой разницы?
Я использую 16-битные изображения Tiff в ProphotoRGB в качестве базовых файлов. В Photoshop я создаю корректирующий слой кривых и применяю настройки «Увеличить контраст». Затем я прочитал координаты x, y из точек на графике (0,0; 37,16; ...) и преобразовал их в соответствие между 0 и 1, т.е. я разделил их на 255.
Далее я использовал im_fx_curves -c
из документации imagemagick для получения коэффициентов функции: http://www.imagemagick.org/Usage/color_mods/#curves
Теперь, теоретически, я должен получить точно такое же изображение с функцией convert -function Polynomial coefficients
, что и со слоем корректировки кривых в Photoshop. Однако результат весьма отличается, например тени заметно ярче. Что может быть причиной этого? И что еще более важно: Как я мог "исправить" эту разницу, чтобы получить те же результаты?
Один из подозреваемых - это цветовое пространство. Может ли быть еще один шаг из-за ProphotoRGB? (Обратите внимание, что в данный момент я не пытаюсь конвертировать в sRGB)
Редактировать: изменения в соответствии с запросом
- Вход ProphotoRGB, Выход ProphotoRGB, оба 16 бит,
здесь не видна ошибка
- Точная командная строка:
convert "%%G"
-function Polynomial "-3.786,5.767,-1.543,0.562,0" "%ConvertTarget%\%%~nG.tif"
- Координаты в Фотошопе: 0,0 38,17 212,231 231,250 255,255
- Преобразование координат в коэффициенты:
./im_fx_curves -c 0,0 0.149019607843137,0.0666666666666667 0.831372549019608,0.905882352941176 0.905882352941176,0.980392156862745 1,1 > coefficients.txt
- Гистограммы:
До> Кривые Photoshop> Кривые IM
![Histgrams](https://i.stack.imgur.com/iW0Uq.jpg)