Sunday, November 25, 2018

Processing3.4とJava Image Filtersを使用して画像をライトで照らす

Processing3.4とJava Image Filtersを使用して画像をライトで照らすには、以下のコードを実行します。Java Image Filtersはhttp://www.jhlabs.com/ip/filters/download.htmlからFilters.jarをダウンロードしてSketchのcodeサブフォルダに配置するか、Sketch->Add FilesメニューからSketchに追加します。

// キャンバスサイズ
size(300,225);
PImage img = loadImage("sf2.jpg");
// 画像をライトで照らしたような効果
LightFilter lf = new LightFilter();
LightFilter.Light lt1 = new LightFilter.Light();
// 方位 
lt1.setAzimuth(90f/180f*ImageMath.PI);
// 高さ 
lt1.setElevation(0.8f);
// 強さ
lt1.setIntensity(0.5f);
// 位置X 
lt1.setCentreX(0.2f);
// 位置Y
lt1.setCentreY(0.5f);
// ライトの色 
lt1.setColor(0xff0000ff);
lf.addLight(lt1);

LightFilter.Light lt2 = new LightFilter.Light();
// 方位
lt2.setAzimuth(90f/180f*ImageMath.PI);
// 高さ
lt2.setElevation(0.8f);
// 強さ
lt2.setIntensity(0.5f);
// 位置X
lt2.setCentreX(0.8f);
// 位置Y
lt2.setCentreY(0.5f);
// ライトの色
lt2.setColor(0xffff0000);
lf.addLight(lt2);

PImage img2 = new PImage(lf.filter((java.awt.image.BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1470a.png");

元画像(sf2.jpg):dataサブディレクトリに配置か、Add Filesで追加。


出力画像(sample1470a.png)
ProcessingとJava Image Filtersを使用してライトで照らした画像


○動作環境
Processing 3.4

〇関連項目
・Processingをインストールした仮想マシンを構築するには、以下のページを参照してください。
https://serverarekore.blogspot.com/search/label/Processing

・Processingに関する他の記事は、こちらを参照してください。

No comments: