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)を読み込みます。
print_picture#
print_picture()
- パラメータ:
なし
- 戻り値:
なし
撮影したばかりの画像をシリアルポート経由で送信し、CamScripterのデバッグウィンドウに表示します。この関数を呼び出す前に take_picture を呼び出しておく必要があります。この関数自体は写真を撮りません。
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)
- パラメータ:
imgpixbuf の行を読み込む先の 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_pixel と get_pixel も参照してください。
get_pixel#
get_pixel(pixel pxl, integer x, integer y)
CMUcam3のピクチャバッファ(pixbuf)内から単一の pixel を取得します。xとyはそれぞれ pixbuf_get_width と pixbuf_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からすべてのピクセルを取得し、それらを 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 に格納します。
print_color_tracker#
print_color_tracker(tracker tracker)
- パラメータ:
tracker出力に使用されるデータを提供する tracker- 戻り値:
なし
tracker オブジェクトのデータを使って、CamScripter にデバッグ情報を出力します。カメラの画像バッファ内の写真を表す矩形と、その内側に追跡中の色のバウンディングボックスを表すもう一つの矩形、そして写真内の色の重心を示す赤い点を出力します。
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- パラメータ:
x、yはグラフィックス画面の左上隅からの距離での、矩形の左上隅の座標位置です。widthとheightは矩形の幅と高さです。オプションのred、green、blue引数は、矩形が描画される色を RGB 値として指定します。デフォルトの色は黒です。- 戻り値:
なし
CamScripterのグラフィックスタブに、幅widthピクセル、高さheightピクセルの長方形を描画します。オプションのred、green、blue引数により、0から255までのRGB値を使用して長方形の色を変更できます。
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- パラメータ:
ラインの始点と終点、そしてラインの色を設定するためのオプション引数。
- 戻り値:
なし
CamScripterのグラフィックス画面に、(start_x, start_y)から(end_x, end_y)まで線を描画します。線のRGB色は、オプションのred、green、blue引数で指定できます。色が指定されていない場合、デフォルトの色は黒です。
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- パラメータ:
楕円の左上隅は (x, y) で指定します。幅と高さはピクセル単位です。赤、緑、青は楕円の色を設定するためのオプション引数です。
- 戻り値:
なし
CamScripterのグラフィックス画面に楕円を描画します。楕円の左上隅は点(x, y)にあります。楕円のRGB色は、オプションのred、green、blue引数で指定できます。色が指定されていない場合、デフォルトの色は黒です。
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 のドキュメント を参照してください。