トップページに、Processingについて書いた記事を、辞書のように見つけやすくしてみました

【Processing】filter()関数7種類の使い方【画像を加工する】

【Processing】filter()関数7種類の使い方【画像を加工する】
  • URLをコピーしました!
ワタタク

今回の記事の目的はProcessingの「filter()関数」を理解し、自分なりに使ってみること。

記事内のProcessingのバージョンは4.3。

目次

【Processing】filter()関数について

filter()関数について
  • Filterは「フィルター」という意味で、画像やデータを特定の条件で選別したり、加工したりする
    • 画像を白黒にしたり、ぼかしたりする

【Processing】filter()関数の主な書き方

7種類あります。

filter(フィルターの種類, フィルターの強度);と書きます。

フィルターの強度が必要ないフィルターもあります。

  • filter(BLUR, 8);
    • ぼかす
    • 数値は1以上の範囲
  • filter(POSTERRIZE, 8);
    • 色数を制限
    • 数値は2~255
  • filter(THRESHOLD, 1);
    • 設定した数値によって、白か黒のピクセルに変換
    • 数値は0.0から1.0
  • filter(INVERT);
    • 画像の色を反転する
    • 数値は不要
  • filter(GRAY);
    • 画像の色をグレーに
    • 数値は不要
  • filter(ERODE);
    • 明るいエリアを減らす
    • 数値は不要
  • filter(DILATE);
    • 明るい部分を増やす
    • 数値は不要

【Processing】filter()関数7種類の使い方【画像とコード】

【1】filter(BLUR); ぼかす 数値1以上

【1】filter(BLUR); ぼかす 数値1以上
PImage img; // 画像データを保存する変数
void setup() {
  size(400, 400); // キャンバスのサイズを設定
  img = loadImage("giraffe.jpg"); // 画像を読み込む
  img.resize(400, 400); //画像を横400、建て400のサイズにする
}
void draw() {
  image(img, 0, 0); // 画像を表示する
  filter(BLUR, 30); // ぼかす
}

【2】filter(POSTERIZE); 色数制限、数値2~255

【2】filter(POSTERIZE); 色数制限、数値2~255
PImage img; // 画像データを保存する変数
void setup() {
  size(400, 400); // キャンバスのサイズを設定
  img = loadImage("giraffe.jpg"); // 画像を読み込む
  img.resize(400, 400); //画像を横400、建て400のサイズにする
}
void draw() {
  image(img, 0, 0); // 画像を表示する
  filter(POSTERIZE, 3);  //色数制限
}

【3】filter(THRESHOLD); 白黒変換 数値0.0~1.0

【3】filter(THRESHOLD); 白黒変換 数値0.0~1.0
PImage img; // 画像データを保存する変数
void setup() {
  size(400, 400); // キャンバスのサイズを設定
  img = loadImage("giraffe.jpg"); // 画像を読み込む
  img.resize(400, 400); //画像を横400、建て400のサイズにする
}
void draw() {
  image(img, 0, 0); // 画像を表示する
  filter(THRESHOLD, 0.5);  //白黒変換
}

【4】filter(INVERT); 色反転 数値不要

【4】filter(INVERT); 色反転 数値不要
PImage img; // 画像データを保存する変数
void setup() {
  size(400, 400); // キャンバスのサイズを設定
  img = loadImage("giraffe.jpg"); // 画像を読み込む
  img.resize(400, 400); //画像を横400、建て400のサイズにする
}
void draw() {
  image(img, 0, 0); // 画像を表示する
  filter(INVERT); // 色反転
}

【5】filter(GRAY); グレーにする 数値不要

【5】filter(GRAY); グレーにする 数値不要
PImage img; // 画像データを保存する変数
void setup() {
  size(400, 400); // キャンバスのサイズを設定
  img = loadImage("giraffe.jpg"); // 画像を読み込む
  img.resize(400, 400); //画像を横400、建て400のサイズにする
}
void draw() {
  image(img, 0, 0); // 画像を表示する
  filter(GRAY);  // グレーにする
}

【6】filter(ERODE); 明るい部分を減らす 数値不要

【6】filter(ERODE); 明るい部分を減らす 数値不要
PImage img; // 画像データを保存する変数
void setup() {
  size(400, 400); // キャンバスのサイズを設定
  img = loadImage("giraffe.jpg"); // 画像を読み込む
  img.resize(400, 400); //画像を横400、建て400のサイズにする
}
void draw() {
  image(img, 0, 0); // 画像を表示する
  filter(ERODE);  //明るい部分を減らす
}

【7】filter(DILATE); 明るい部分を増やす 数値不要

【7】filter(DILATE); 明るい部分を増やす 数値不要
PImage img; // 画像データを保存する変数
void setup() {
  size(400, 400); // キャンバスのサイズを設定
  img = loadImage("giraffe.jpg"); // 画像を読み込む
  img.resize(400, 400); //画像を横400、建て400のサイズにする
}
void draw() {
  image(img, 0, 0); // 画像を表示する
  filter(DILATE); // 明るい部分を増やす
}

【Processing】filter()関数はどんな表現で使えそうか

画像に入力したテキストによって、色を変えたりできる。

【Processing】filter()関数を使ってみた感想

表現に合ったfilter()関数を使えるようになりたい。

ワタタク

それでは今日もレッツワクワクコーディング。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次