« I.S Damu / The Making of Another Introduction from HOW IT SHOULD SOUND | トップページ | 2値化(白黒)フィルタ RGB値平均検出版
processing java »

2010.07.16

2値化(白黒)フィルタ
processing java

先日グレースケール表示に成功したので、今度は2値化、すなわち白黒表示のフィルタを作ってみた。
やっていること自体そんなにかわりませんが、この白黒化でオブジェクト認識ができそうな気がします。

Threshold



package faceCatch;

//import processing

import processing.core.PApplet;
import processing.video.*;

public class Threshold extends PApplet{

        ////////////////////////////////////////////////////////////////////////////

        //閾値
        float iThresh = 100.0f;

        private static final long serialVersionUID = 1L;

        //カメラオブジェクトの変数
        Capture camera;

        //平均値
        int pixAverage;

        //ループ変数
        int i, j;

        //ピクセルの位置を格納する変数
        int pos;

        //ピクセルの値を格納する変数
        int pixColor;

        //明度値を格納する変数
        float b;

        ////////////////////////////////////////////////////////////////////////////

        //コンストラクタ
        public Threshold(){

        }

        public void setup(){

                size(320, 240);
                colorMode(HSB, 256);

                //Captureオブジェクトの準備
                camera = new Capture(this, 320, 240, 30);


        } //end of setup()

        public void draw(){

                //画面のピクセルのロード
                loadPixels();
                //カメラ画像のピクセルをロード
                camera.loadPixels();

                //ピクセルの検査
                for(i = 0; i < height; i++){
                        for(j = 0; j < width; j++){

                                //ピクセルの位置
                                pos = (i * width) + j;
                                //ピクセルの値を取得する(RGB)
                                pixColor = camera.pixels[pos];

                                //明度の抽出
                                b = brightness(pixColor);

                                //明度が設定した閾値より上か下か
                                if(b <= iThresh){

                                        pixels[pos] = -16777216;

                                } else {

                                        pixels[pos] = -1;

                                }

                        }
                } //end of for()

                //ピクセルのアップデート
                updatePixels();

        } //end of draw()

        //キャプチャ映像のイベントハンドラ
        public void captureEvent(Capture camera){
                camera.read();
        } //end of captureEvant

}



「わかる」とはどういうことか―認識の脳科学「わかる」とはどういうことか―認識の脳科学 (ちくま新書)
価格 : ¥777 (税込み)

われわれは、どんなときに「あ、わかった」「わけがわからない」「腑に落ちた!」などと感じるのだろうか。また「わかった」途端に快感が生じたりする。そのとき、脳ではなにが起こっているのか―脳の高次機能障害の臨床医である著者が、自身の経験(心像・知識・記憶)を総動員して、ヒトの認識のメカニズムを、きわめて平明に解き明かす刺激的な試み。

|

« I.S Damu / The Making of Another Introduction from HOW IT SHOULD SOUND | トップページ | 2値化(白黒)フィルタ RGB値平均検出版
processing java »

processing」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/198455/48892839

この記事へのトラックバック一覧です: 2値化(白黒)フィルタ
processing java
:

« I.S Damu / The Making of Another Introduction from HOW IT SHOULD SOUND | トップページ | 2値化(白黒)フィルタ RGB値平均検出版
processing java »