5/6 画像のようなものを探しています。QT または C++ で作業できます。チャンネルは既にありますが、それ以上の方法が見つかりません...
http://www.mediachance.com/pseam/help/curves.html
それらを機能させるためのアルゴリズムまたは特別な変換はありますか、私はグーグルで検索しましたが、これの疑似アルゴリズムを見つけることができます。たとえば、次のように、すべてがあまりにも一般的です:
http://www.filterforge.com/more/help/Miscellaneous/ToneCurveExplained.html https://photo.stackexchange.com/questions/6549/how-exactly-do-rgb-curves-work-and-interact-w -フォトショップでお互い
したがって、誰かが少なくとも曲線がRGBチャンネルとどのように相互作用するかを知っているなら、知っているか情報を共有するといいでしょう:)
とにかく、私が実際に試しているのは、このベジエ曲線で、これです:
XY 0 0 127 178 255 255
float* arrayBezierY = new float[255];
qDebug() << "Initializng Bezier Array";
int counter = 0;
for (float i = 0; i < 1; i += 1.0 / 255.0) {
int xa = getPt(0, 127, i);
int ya = getPt(0, 178, i);
int xb = getPt(127, 255, i);
int yb = getPt(178, 255, i);
int x = getPt(xa, xb, i);
int y = getPt(ya, yb, i);
arrayBezierY[counter] = y;
counter++;
}
C++ でベジエ曲線を実装するにはどうすればよいですか? のように。
最後に、新しいフィルター処理された画像ピクセルを QT でピクセルにします (C++ であるかどうかは関係ありません)。
newImage->setPixel(x, y, qRgb(arrayBezierY[qRed(line[x])], arrayBezierY[qGreen(line[x])], arrayBezierY[qBlue(line[x])]));
しかし、私は時々青い点で歪んだ画像を取得し、曲線はPhotoshopの曲線にさえ近づきません...