В этом вопросе рассматривается, в частности, вопрос о подгонке кривой в контексте цветового смешивания красок, пигментов и т. Д.Хороший метод интерполяции для смешивания цветов?
Я пытаюсь угадать требуемые пропорции двух красок, скажем, «Браун» (B) и «белый» (W), чтобы перейти к заданному значению освещенности L.
Я сделал «калибровочную кривую» таким же образом, как и для применения закона Беэр-Ламберта в области химии. Однако кривая не является линейной, поэтому я не могу использовать закон Бера-Ламберта.
Вот что я сделал:
(1)
Я измерил спектр образцов краски для этих пропорций смеси, маркирован A, B, C, D, .. п.
A >>> W = 1, B = 0 (чистый белый)
б >>> W = 63/64, В = 1/64
C >>> W = 31/32, В = 1/32
д >>> Ш = 15/16, В = 1/16
е >>> W = 7/8, В = 1/8
F >>> W = 3/4, B = 1/4
>>> г W = 1/2, B = 1/2
ч >>> W = 0, B = 1 (чисто коричневый)
И эти спектральные кривые отражения, что я получил:
Если я пикап одно значение коэффициента отражения на данной длине волны, например, 500 нм, я получаю эту красивую кривую, где ось х представляет собой часть белой краски в смеси, а у оси отраженного света при длине волны 500 нм:
я хотел бы угадать интерполяцией, сколько белый Мне нужно достичь определенного количества отраженного света.
(2)
Я пытался соответствовать экспоненте к данным с scipy.optimize.curve_fit
но подгонка довольно беден:
Какие функции будут плотно прилегать к данным?
Я бы поместил экспоненциальную кривую: http://stackoverflow.com/questions/3433486/how-to-do-exponential-and-logarithmic-curve-fitting-in- python-i-found-only-poly – Javier
@ Javier вы могли бы помочь мне понять, как подогнать его к экспоненциальному cur ve, я не уверен, что понимаю, как это сделать ... –
Возможный дубликат [Использование кривой \ _fit для соответствия данным] (http://stackoverflow.com/questions/10857948/use-of-curve-fit- to-fit-data) – Lucas