proce55ingで塊を検出する。

BlobDetectionを使うと簡単に塊を検出することができます。

これを利用すると例えばマルチタッチアプリケーションを作成するときに
指の検知に利用できます。(OpenTouchの中で利用している。)

まずは試しにサンプルの中にあるblobDetection>bd_webcamを利用して
検出したBlobごとに右端にBlobIDを表示するプログラム追加で書いてみました。
(追加した部分だけ記述)

PFont font;

void setup()
{
セットアップ省略..

        //フォント
        PFont font = loadFont("LucidaGrande-12.vlw");
        textFont(font,12);
}

void drawBlobsAndEdges(boolean drawBlobs, boolean drawEdges)
{
途中省略..

 if (drawBlobs)
 {
	strokeWeight(1);
	stroke(255,0,0);
	rect(
		b.xMin*width,b.yMin*height,
		b.w*width,b.h*height
 );
 debugBlobID(b,2);//ここに追加
 }
}

//追加
void debugBlobID(Blob b,int type){
  
  //色
  fill(255,0,0);
  
  switch(type){
    //左上
    case 1:
    text(b.id,(int)(b.xMin*width),(int)(b.yMin*height));
    break;
  
    //右上
    case 2:
    text(b.id,(int)(b.xMin*width)+(b.w*width),(int)(b.yMin*height));
    break;

    //右下
    case 3:
    text(b.id,(int)(b.xMax*width),(int)(b.yMax*height));
    break;
    
    //左下
    case 4:
    text(b.id,(int)(b.xMin*width),(int)(b.yMin*height)+(b.h*height));
    break;
  }
}

検出されたBlobのX,Y,width,heightの範囲は0~1の範囲なので、
ウィンドウのサイズをかける必要があります。
注意:文字を使う場合にはあらかじめTools>Create Fontから任意のフォントを作成する必要があります。