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 外掛程式,並在主控台區域中顯示它們。

turn_on_led#

turn_on_led(integer led_number)

參數:

led_number 要開啟的 CMUcam3 LED 編號。0、1、2 是唯一合法的值。

回傳值:

開啟其中一個 CMUcam3 LED。

turn_off_led#

turn_off_led(integer led_number)

參數:

led_number 要開啟的 CMUcam3 LED 編號。0、1、2 是唯一合法的值。

回傳值:

關閉其中一個 CMUcam3 LED。

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_YCRCBCC3_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 要讀取的列數

回傳值:

成功讀取的列數

將 num_rows 列從相機的圖片緩衝區 (pixbuf) 複製到傳入的 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 結構的用法,另請參閱 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。如果尚未呼叫 take_picture 將圖片儲存至 pixbuf,此函式不會失敗,但插入 pixel 中的值將會是無效資料。

image_new#

image_new(integer width, integer height)

參數:

width 影像的寬度,height 影像的高度

回傳值:

一個新的 image 資料結構。

取得一個新的 image 資料結構,其寬度、高度與 pixsize 為傳入的值。如需有關使用 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 拍攝的兩個圖片畫格之間的差異,但如需更多資訊,請參閱 framediff 說明文件。

framediff_scanline_start#

framediff_scanline_start(framediff fd)

參數:

fd 要使用的 framediff 物件

回傳值:

若成功則回傳 1。

初始化使用 framediff_scanline 進行畫格差分所需的一切。確保 framediff 結構中已設定 current_template(若 framediff:get_load_frame() 為 true,則載入目前範本)。

framediff_scanline#

framediff_scanline(image img, framediff fd)

參數:

img 一個 image 資料結構,fd 一個 framediff 資料結構

回傳值:

若成功則回傳 1

從 img 取得所有像素,並將它們載入 framediff 結構中適當的插槽,如此便可比較兩個範本(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 資料結構中的兩個範本(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 說明文件