Android でビットマップにイメージ フィルタを適用しようとしています。すべてのフィルタは Photoshop カーブ (.crv) ファイルに保存されていますが、これは重要ではありません。
https://raw.github.com/WeemoApps/filteriser/master/iOS/filteriser/filteriser/UIImage+Filterise.m (Objective-C コード) によると、ラグランジュ多項式係数を使用して「ピクセルごと」に画像を色付けすることができます:
newRValue = -0.000093*data[index]*data[index]*data[index]+0.031603*data[index]*data[index]-0.992382*data[index];
newGValue = -0.000058*data[index+1]*data[index]*data[index+1]+0.021061*data[index+1]*data[index+1]-0.620401*data[index+1];
newBValue = 0.000013*data[index+2]*data[index+2]*data[index+2]-0.004366*data[index+2]*data[index+2]+1.275243*data[index+2];
Android on Java で同じことを行うのは難しくありませんが、遅すぎます。私は何か速いものを探しています(おそらく、ColorMatrix
以下のコードのように機能するようなものです)。
手伝ってくれてありがとう。