OpenCVを使って,自炊した本の画像の変換は,まずまず上手く行っているのだが,ガンマ補正のところだけが分からない。しかたないので,とりあえずは gamma=1 つまり直線補間しているのだが,どこが間違っているのだろうか。

//—————————————————————
// cv_Level
// レベル補正・ガンマ補正
// (ImageMagickの convert -level white_point black_point gamma と同じにしたいのだが)
// src = 入力画像
// dst = 出力画像
// high = ホワイトポイント (0..255)
// low = ブラックポイント (0..255)
// gamma = ガンマ補正値
// 注意:暫定版。ガンマ補正の式はこれで正しいのか不明。
// 0high)
{
LUT[i] = 255;
}
else
{
x = (double) i /255.0;
LUT[i] = cvCeil( ((pow(x,p)-a)/(b-a)) * 255.0 );
//LUT[i] = (int) ( pow( ( ((double)i – (double)low) / ((double)high – (double)low) ), 1.0 / gamma ) * 255.0 );
//LUT[i] = (int)(pow((double)i / 255.0, 1.0 / gamma) * 255.0);
}
}
*/
for (i=0; i

投稿者 sukarabe

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です