Lua API:関数#

set_debug#

set_debug(boolean debug_on)

パラメータ:

debug_on -- true(デバッグオン)または false(デバッグオフ)と評価される値を渡します

戻り値:

なし

デバッグをオンまたはオフにします。デバッグがオンのとき、カメラはシリアルポート経由でテキストと画像のデバッグ情報を送信しようとします。性能を向上させるために、プログラムが完成したらデバッグをオフにしてください。

print#

使い方: print("a message") / print("one plus one is ", 1+1)

パラメータ:

必要なだけ多くの値を渡します。

戻り値:

なし

値を出力するために使用されるデバッグ関数です。CMUcam3は、この関数に渡されたすべての値を CamScripter Eclipseプラグインに送信し、そこでConsole領域に表示されます。

turn_on_led#

turn_on_led(integer led_number)

パラメータ:

led_number オンにする CMUcam3 LED の番号。0、1、2 のみが有効な値です。

戻り値:

なし

CMUcam3 の LED の1つをオンにします。

turn_off_led#

turn_off_led(integer led_number)

パラメータ:

led_number オンにする CMUcam3 LED の番号。0、1、2 のみが有効な値です。

戻り値:

なし

CMUcam3 の LED の1つをオフにします。

take_picture#

take_picture()

パラメータ:

なし

戻り値:

なし

CMUcam3 で写真を撮影し、画像バッファ(pixbuf)を読み込みます。

save_picture#

save_picture(string filename)

パラメータ:

filename 写真を保存しようとするファイル名。

戻り値:

なし

現在ピクチャバッファにある画像を、渡されたファイル名に保存します。ファイル名は有効なFAT16ファイル名<8.3>でなければならず、そうでない場合はエラーが返されます。指定されたファイル名のファイルが既に存在する場合、上書きされます。この関数自体は写真を撮らないことに注意してください - save_pictureを呼び出す前にtake_pictureを呼び出す必要があります。

file_exists#

file_exists(string filename)

パラメータ:

filename

戻り値:

ファイルが存在するかどうかを示すブール値

指定したファイル名のファイルが MMC/SD カード上にあるかどうかをテストします。

camera_set_resolution#

camera_set_resolution(integer resolution)

パラメータ:

resolution カメラの新しい解像度

戻り値:

なし

CMUcam3 の解像度を設定します。解像度は high または low のいずれかでなければなりません(Lua API:定数のカメラ解像度定数を参照)。

camera_set_colorspace#

camera_set_colorspace(integer space)

パラメータ:

space カメラの新しい解像度。CC3_COLORSPACE_YCRCB または CC3_COLORSPACE_RGB のいずれかでなければなりません

戻り値:

なし

CMUcam3 の色空間を YCRCB または RGB に設定します(デフォルトは RGB)。Lua API:定数も参照してください。

wait#

wait(integer ms)

パラメータ:

ms 待機するミリ秒数

戻り値:

なし

ms ミリ秒待ちます。

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

戻り値:

なし

カメラの対象チャンネルを設定します。カメラが撮影時に記録するチャンネルを決定します。COI に小さい値を設定すると、画像処理を高速化できます。COI の有効な値は、Lua API:定数の対象チャンネル定数にあります。

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

パラメータ:

img pixbuf の行を読み込む先の image オブジェクト、num_rows 読み込む行数

戻り値:

正常に読み込まれた行数

カメラのピクチャバッファ(pixbuf)からnum_rows行を、渡された image オブジェクトにコピーします。

pixbuf_get_width#

pixbuf_get_width()

パラメータ:

なし

戻り値:

pixbuf の幅(ピクセル単位)

ピクチャバッファ(pixbuf)の幅を取得します。これを呼び出す前に、take_pictureまたはshow_pictureのいずれかを呼び出して、ピクチャバッファが読み込まれている必要があります。

pixbuf_get_height#

pixbuf_get_height()

パラメータ:

なし

戻り値:

pixbuf の高さ(ピクセル単位)

ピクチャバッファ(pixbuf)の高さを取得します。これを呼び出す前に、take_pictureまたはshow_pictureのいずれかを呼び出して、ピクチャバッファが読み込まれている必要があります。

pixel_new#

pixel_new()

パラメータ:

なし

戻り値:

新しい pixel データ構造

新しいpixelデータ構造を作成して返します。構造の詳細については pixelのドキュメント を参照してください。pixel 構造の使用方法については、pixbuf_get_pixelget_pixel も参照してください。

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

パラメータ:

pxl ピクセル値を格納する pixel データ構造。xy 画像バッファ内で取得するピクセルの x および y 座標。

戻り値:

なし。ピクセル値は渡された pixel に格納されます

CMUcam3のピクチャバッファ(pixbuf)内から単一の pixel を取得します。xとyはそれぞれ pixbuf_get_widthpixbuf_get_height より小さくなければなりません。pixbufに画像を格納するために take_picture が呼び出されていない場合、この関数は失敗しませんが、pixel に挿入される値はゴミになります。

image_new#

image_new(integer width, integer height)

パラメータ:

width 画像の幅、height 画像の高さ

戻り値:

新しい image データ構造。

渡された幅、高さ、pixsizeを持つ、新しい image データ構造を取得します。image データ構造の使用に関する詳細については、image のドキュメントを参照してください。

渡された image データ構造から pixel を取得します。ピクセルのRGB値は、渡された pixel データ構造に格納されます。パラメータxは image の幅より小さく、yは image の高さより小さくなければなりません。

framediff_new#

framediff_new(integer template_width, integer template_height)

パラメータ:

template_width 差分を取るテンプレートの幅、template_height テンプレートの高さ

戻り値:

新しい framediff データ構造

渡されたテンプレートの幅と高さを持つ、新しい framediff データ構造を取得します。framediff 構造は一般にCMUcam3で撮影された2つのピクチャフレーム間の差を評価するために使用されますが、詳細については framediff のドキュメントを参照してください。

framediff_scanline_start#

framediff_scanline_start(framediff fd)

パラメータ:

fd 使用する framediff オブジェクト

戻り値:

成功した場合は1を返します。

framediff_scanline を使用してフレーム差分を行うために必要なすべてを初期化します。framediff 構造にcurrent_templateが設定されていることを確認します(または framediff:get_load_frame() がtrueの場合、current templateを読み込みます)。

framediff_scanline#

framediff_scanline(image img, framediff fd)

パラメータ:

img image データ構造、fd framediff データ構造

戻り値:

成功した場合は1を返します

imgからすべてのピクセルを取得し、それらを framediff 構造の適切なスロットに読み込むことで、2つのテンプレート(current_templateとprevious_template)を比較できるようにします。fd:get_load_frameがtrueの場合、img内のピクセルをprevious templateスロットに読み込みます。fd:get_load_frameがfalseの場合、imgからのピクセルをcurrent_templateに読み込みます。

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

パラメータ:

fd 使用する framediff データ構造

戻り値:

操作が成功した場合は1を返します。

framediff データ構造内の2つのテンプレート(current_templateとprevious_template)を比較し、異なるピクセルの数を計算して、その値を framediff:get_num_pixels に格納します。

clear_graphics#

clear_graphics()

パラメータ:

なし

戻り値:

なし

CamScripterのグラフィックス画面をクリアします。

tracker_track_color#

tracker_track_color(tracker theTracker)

パラメータ:

カラートラッキングを行うために使用される tracker オブジェクト。設定したい RGB 値が設定されています。

戻り値:

トラッキングが実行できたかどうかを示すブール値。色が見つからなくても true を返し、エラーが発生した場合にのみ false を返します。

渡された tracker オブジェクトを使って、CMUcam3 で色を追跡します。色を追跡しようとする前に take_picture() を呼び出しておく必要があります。画像バッファを解析し、tracker オブジェクトに値を設定して、色のバウンディングボックスと、色の重心を表す (x, y) 値を返します。詳細については tracker のドキュメント を参照してください。