「毎日Unity」の技術ブログ

開発で役立つ情報を発信する

【Processing】二値化フィルタ

Processingで二値化フィルタを作ったので残しておくことにしました。

[ 使用例 ]

使用前
使用後

[ プログラム ]

プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。

//閾値
int th = 120;

void setup()
{
    PImage i = loadImage("入力画像.png");

    int w = i.width;
    int h = i.height;

    for(int x = 0; x < w; x++)
    {
        for(int y = 0; y < h; y++)
        {
            color c = i.get(x, y);

            float g = red(c) * 0.3 + green(c) * 0.59 + blue(c) * 0.11;

            if(g > th)
            {
                i.set(x, y, color(255));
            }
            else 
            {
                i.set(x, y, color(0));
            }
        }
    }

    i.save("出力画像.png");
}