Processing.video の filter を一通り試してみた。サンプルあり

サンプルコード

import processing.video.*;

Capture cam;

void setup(){
  size(640, 360); //アスペクト比16:9

  String[] cameras = Capture.list();
  
  if (cameras.length == 0) {
    println("利用可能なカメラがありません.");
    exit();
  } else {
    println("Available cameras:");
    for (int i = 0; i < cameras.length; i++) {
      println(cameras[i]); //利用可能なカメラの一覧をコンソールに表示
    }
    
    cam = new Capture(this, cameras[1]); //Captureを作成。cameras[1] の 数字は環境に合わせる。多くの場合は、0か1?
    cam.start(); //映像取得開始
  }      
}

void draw() {
  if (cam.available()) {
    cam.read();
  }

  image(cam, 0, 0);

   filter(THRESHOLD);

}

filter オプション

THRESHOLD


パラメータ範囲 0.0~1.0
レベルパラメータで定義されたしきい値を上回っているか下回っているかに応じて、画像を白黒ピクセルに変換します。パラメータは0.0(黒)から1.0(白)の間でなければなりません。レベルが指定されていない場合、0.5が使用されます。

GRAY

パラメータなし。
画像内の任意の色を同等のグレースケールに変換します。

OPAQUE

パラメータなし。

アルファチャネルを完全に不透明に設定します。

INVERT

パラメータなし。
反転 各ピクセルをその逆の値に設定します。

POSTERIZE

パラメータ範囲 2~255


画像の各チャンネルを、パラメータとして指定された色数に制限します。パラメータは2〜255の値に設定できますが、結果は低い範囲で最も顕著になります。

BLUR

ぼかしの範囲を指定するレベルパラメータを使用してガウスぼかしを実行します。パラメータを使用しない場合、ぼかしは半径1のガウスぼかしと同等です。値を大きくするとぼかしが大きくなります。

ERODE

パラメータなし。
明るい領域を減らします。パラメータは使用されません。

DILATE

パラメータなし。
明るい領域を増やします。