Java Colorクラスを使って、HSV(HSB)の色空間で、画像の色を変える




ふだん見かける色のコードは、RGB色空間なわけですが。。
HSV(HSB)色空間に変換すると、色の操作がしやすいんですよね。

Colorクラスを使って、HSV(HSB)の色空間で、画像の色を変えるサンプル

画像ファイルを読み込み。読み込んだ画像全体の色を変更します。
色相を120度ずつ変えて、画像を保存。3回繰り返して1周してみます。

実行結果

3つの画像ファイルが作成されます。
元の画像(左上)と3つの画像は、こんな感じです。

手前の木を見るとわかりやすく、緑→青→赤→緑と変化していることがわかりますね。
元の滝の部分は、少し青を含んでいるので、赤っぽくなったり緑っぽくなったりしています。

サンプルの解説

この例では、画像全体について色相を120度変えたものです。
120度変えると、R→G→B→Rのように色が変わるので、RGBを1つずつずらしたことになります。

3回実行しているので、誤差はさておき、1周。
つまり、元に戻ります。

ちなみに、HSVとHSBは同じです。
JavaのColorクラスでは、HSBで登場していますね。