研究テーマ->音楽ソフト->プログラミング環境->MAX/MSP
MAX/MSPに関する情報を提供します。  
Webカメラの映像を解析する
USBのWebカメラなどから画像を取り込んで、それを表示するプログラムを改造して、映像に変化があったかどうかを調べるプログラムを作ることができます。
解析のためのパッチは、あとで使いまわしをしたいので、サブパッチとして作成しておきます。
「pacher」と入力すると新しい入力画面が開きます。その画面に解析用のプログラムを作成します。
作成できたら、他のパッチからも使用できるように、名前をつけて保存しておきます。 (後で使用するので「analyze」という名前をつけておいてください。)
「t | |」は「triger | |」の省略で、「|」は、エルやアイではなく、縦棒(orの記号)です。
「absdiff」のabsは絶対値、「diff」は差分の意味で、一瞬前の画像とどう変化したかを調べることができます。
「pacher」からの戻りは、差分の映像と、変化量を示す値です。

作ったプログラムを動かしてみる
プログラムを実行するために実行モードに切り替えます。 左側の「toggle」をクリックしてオンの状態にし、「open」をクリック します。
カメラからの映像に動きがあると、その部分が下の出力映像に表示されます。映像の変化のグラフが右側に表示されます。
このパッチはマックでは動作しますが、Windows版では正しく動作しない場合があります。(Windows版ではカメラからの取り込み機能が正しく動作しないことがあるようです。)
サンプルのダウンロード
マトリックスの処理で指定した範囲の映像を表示する
Webカメラからの映像を範囲を指定して表示するプログラムでは、pwindowへの入力時に画面を分割する例を紹介しましたが、それぞれの分割面について解析を行うには、マトリックスを分割して処理する必要があります。
下記の例では、srcdimstartとsrcdimendでスタートとエンドを指定した範囲の映像を取り出し、出力画面に表示します。

サンプルのダウンロード
 
指定した範囲の映像を解析する
4つに画面を分割して、各範囲を別々に解析します。ややこしいので、画面を分割する部分は、サブパッチにします。また、解析には、さきほど「analyze」という名前で保存しておいたサブパッチを使用します。

サンプルのダウンロード