Lua API:tracker#

説明#

tracker データ構造は、CMUcam3 でのカラートラッキングを支援するために使用されます。実行中のトラッキングに関する情報や、どの色を追跡するかやカラートラッキングの他の側面を制御するために設定できるパラメータを保持します。TODO: バウンディングボックスとは何か、重心とは何かについての適切な説明を追加する

#

これは、trackerオブジェクトを使用してCMUcam3のピクチャフレーム内の赤い領域を見つけ、そのボックスをEclipseのCamScripterデバッグ領域に出力する方法を示す短い例です。

trkr = tracker_new(195, 0, 0, 255, 45, 45); -- track red
trkr:set_noise_filter(3);  -- 2 is the default

take_picture();
tracker_track_color(trkr);
print_color_tracker(trkr);  -- print color tracker info to the screen
print("num pixels tracked: " .. trkr:get_num_pixels()); -- print number of red pixels found in the picture
-- print_picture(); -- uncomment this line to print the picture itself to the screen as well (slower)

作成#

tracker_new を参照

メソッド#

  • get_centroid_x

  • get_centroid_y

  • get_density

  • get_num_pixels

  • get_x0

  • get_x1

  • get_y0

  • get_y1

  • set_lower_bound

  • set_noise_filter

  • set_upper_bound

get_centroid_x#

trkr:get_centroid_x()

パラメータ:

なし

戻り値:

重心の整数x座標

トラッキングされている色の重心のx座標を取得します。ここで(0, 0)は画像の左上隅です。

get_centroid_y#

trkr:get_centroid_y()

パラメータ:

なし

戻り値:

重心の整数y座標

トラッキングされている色の重心のy座標を取得します。ここで(0, 0)は画像の左上隅です。

get_density#

trkr:get_density()

パラメータ:

なし

戻り値:

トラッキングされている色の密度

ピクチャバッファ内でトラッキングされた色の密度を取得します。密度は、トラッキングされている色がカラートラッカーのバウンディングボックス内でどれだけ密であるかの尺度です。ボックス内でトラッキングされている色のピクセルが多いほど、密度は高くなります。

get_num_pixels#

trkr:get_num_pixels()

パラメータ:

なし

戻り値:

ピクチャバッファ内でカラートラッカーの色と一致するピクセルの数

CMUcam3のピクチャバッファ内で見つかった、トラッキングされている色(tracker_new に渡されたRGB値によって決定される)のピクセルの総数を取得します。

get_x0#

trkr:get_x0()

パラメータ:

なし

戻り値:

カラートラッキングのバウンディングボックスの左上隅の x 座標の整数値。

tracker_track_color が呼び出されると、写真内で追跡されている色の境界を記述するバウンディングボックスが確立されます。(x0, y0) はそのボックスの左上隅の位置、(x1, y1) は画像バッファ内のそのボックスの右下隅の位置で、(0, 0) は画像バッファの左上隅です。get_x0 は、色境界ボックスの左上隅の x 座標を返します。

get_y0#

trkr:get_y0()

パラメータ:

なし

戻り値:

カラートラッキングのバウンディングボックスの左上隅の y 座標の整数値。

tracker_track_color が呼び出されると、写真内で追跡されている色の境界を記述するバウンディングボックスが確立されます。(x0, y0) はそのボックスの左上隅の位置、(x1, y1) は画像バッファ内のそのボックスの右下隅の位置で、(0, 0) は画像バッファの左上隅です。get_y0 は、色境界ボックスの左上隅の x 座標を返します。

get_x1#

trkr:get_y1()

パラメータ:

なし

戻り値:

カラートラッキングのバウンディングボックスの右下隅の x 座標の整数値。

tracker_track_color が呼び出されると、写真内で追跡されている色の境界を記述するバウンディングボックスが確立されます。(x0, y0) はそのボックスの左上隅の位置、(x1, y1) は画像バッファ内のそのボックスの右下隅の位置で、(0, 0) は画像バッファの左上隅です。get_x1 は、色境界ボックスの左上隅の x 座標を返します。

get_y1#

trkr:get_y1()

パラメータ:

なし

戻り値:

カラートラッキングのバウンディングボックスの右下隅の y 座標の整数値。

tracker_track_color が呼び出されると、写真内で追跡されている色の境界を記述するバウンディングボックスが確立されます。(x0, y0) はそのボックスの左上隅の位置、(x1, y1) は画像バッファ内のそのボックスの右下隅の位置で、(0, 0) は画像バッファの左上隅です。get_y1 は、色境界ボックスの左上隅の x 座標を返します。

set_lower_bound#

trkr:set_lower_bound(integer channel, integer bound)

パラメータ:

channel 境界を設定するチャンネル。Lua API:定数の対象チャンネル定数を参照してください。bound 指定したチャンネルで可能な最小値。0 から 255 の間でなければなりません。

戻り値:

なし

カラートラッカーにおける1つのチャンネルの下限を設定します。下限とは、そのチャンネルでトラッキング対象となるためにピクセルが取り得る最小値です。カラートラッキングの目的上、あるピクセルがトラッキング可能とみなされるには、そのピクセルが各チャンネルにおいて下限と上限の間になければなりません。

set_noise_filter#

trkr:set_noise_filter(integer filter)

パラメータ:

filter 新しいノイズフィルタ値。デフォルトは 2 です。

戻り値:

なし

ノイズフィルタ値は、あるピクセルがカラートラッキングで検出されたとカウントされる前に、そのピクセルの手前に連続してアクティブなピクセルがいくつ必要かを決定します。値は 0 から 255 の間でなければなりません。

set_upper_bound#

trkr:set_upper_bound(integer channel, integer bound)

パラメータ:

channel 境界を設定するチャンネル。Lua API:定数の対象チャンネル定数を参照してください。bound 指定したチャンネルで可能な最大値。0 から 255 の間でなければなりません。

戻り値:

なし

カラートラッカーにおける1つのチャンネルの上限を設定します。上限とは、そのチャンネルでトラッキング対象となるためにピクセルが取り得る最大値です。カラートラッキングの目的上、あるピクセルがトラッキング可能とみなされるには、そのピクセルが各チャンネルにおいて下限と上限の間になければなりません。