Edited at

Processingで画像の輝度の数をCSVで書き出す

More than 3 years have passed since last update.


筆者環境

環境
バージョン

MacOSX
10.11.5

Processing
3.1.1


プログラムの流れ


  1. 画像をファイル名で指定する

  2. 画像のピクセル毎の輝度を取得する

  3. 輝度は0~255の範囲で整数値で表す

  4. それぞれの輝度がどれくらいあるか数える

  5. それぞれの輝度の数をCSVで書き出す


コード


BrightnessCSV.pde

void setup() {

createImageBrightnessCSV();
exit();
}

void createImageBrightnessCSV() {
PImage pimage = loadImage("sample.jpeg");
int[] nums = new int[256];

pimage.loadPixels();

/* 輝度の数をそれぞれ数える */
for (color c : pimage.pixels) {
nums[int(brightness(c))]++;
}

/* 輝度の数の表示(確認用) */
for (int i = 0; i < nums.length; i++) {
println("nums[" + i + "]:" + nums[i]);
}

/* 書き出し用のファイル作成 */
PrintWriter output = createWriter("sample.csv");

/* ファイルにデータを書き込み */
for (int i = 0; i < nums.length; i++) {
output.println(i + ",\t" + nums[i]);
}

output.flush();
output.close();
}



参考

b-05 ピクセルを操作する – Processing学習ノート