画像処理 その3
■ このスレッドは過去ログ倉庫に格納されています
0243210
NGNGxxx0, yyy0 は int で slider から得た変更指定で、static global です。
明度 xxx0 のところを yyy0 変更する指定としています。
Bezier 曲線
r(t) = A・(1-t)*(1-t) + 2・B・t(1-t) + C・t * t;
の A =(0,0), B = (xxx0, xxx0 + yyy0), C = (255, 255) を制御点とする曲線を
求めて、旧明度に対応する新明度を求めています。第1項は結果的に不要。
引数 x は 0 〜 255 でないとまずいという理解です。
static double getNewMeido(double x)
{
double y, t, t0, t1, r, bumbo, xxx2, aaa;
// Bezier curve は、t を媒介変数にしているので、
// x から一旦対応する t を求めて、更に y を求める
// 以下は、t = (-b ± sqrt(b*b - 4ac)) / 2a の計算
if (!yyy0) y = x; // 復元チェックと無駄な計算排除のため
else{
/* 長文エラーだったため、分割 */
■ このスレッドは過去ログ倉庫に格納されています