Lua API: Hàm#

set_debug#

set_debug(boolean debug_on)

Các Tham Số:

debug_on -- Truyền một giá trị đánh giá thành hoặc true (bật gỡ lỗi) hoặc false (tắt gỡ lỗi)

Các Giá Trị Trả Về:

không có

Bật hoặc tắt gỡ lỗi. Khi gỡ lỗi được bật, camera sẽ cố gắng gửi thông tin gỡ lỗi văn bản và ảnh qua cổng serial. Tắt gỡ lỗi một khi một chương trình hoàn tất để cải thiện hiệu năng.

print#

Cách dùng: print("a message") / print("one plus one is ", 1+1)

Các Tham Số:

Truyền vào bao nhiêu giá trị tùy thích.

Các Giá Trị Trả Về:

không có

Hàm gỡ lỗi, được sử dụng để in các giá trị. CMUcam3 sẽ gửi tất cả các giá trị được truyền vào hàm này tới plugin Eclipse CamScripter, nơi chúng sẽ được hiển thị trong khu vực Console.

turn_on_led#

turn_on_led(integer led_number)

Các Tham Số:

led_number Số của LED CMUcam3 để bật. 0, 1, 2 là các giá trị hợp lệ duy nhất.

Các Giá Trị Trả Về:

không có

Bật một trong các LED của CMUcam3.

turn_off_led#

turn_off_led(integer led_number)

Các Tham Số:

led_number Số của LED CMUcam3 để bật. 0, 1, 2 là các giá trị hợp lệ duy nhất.

Các Giá Trị Trả Về:

không có

Tắt một trong các LED của CMUcam3.

take_picture#

take_picture()

Các Tham Số:

không có

Các Giá Trị Trả Về:

không có

Chụp một bức ảnh bằng CMUcam3, và nạp bộ đệm ảnh (pixbuf).

save_picture#

save_picture(string filename)

Các Tham Số:

filename Tên tập tin để cố lưu bức ảnh.

Các Giá Trị Trả Về:

không có

Lưu bức ảnh hiện đang ở trong bộ đệm ảnh vào tên tập tin được truyền vào. Tên tập tin phải là một tên tập tin FAT16 hợp lệ <8.3>, nếu không một lỗi sẽ được trả về. Nếu một tập tin đã tồn tại với tên tập tin đã cho, nó sẽ bị ghi đè. Lưu ý rằng hàm này không tự chụp một bức ảnh - bạn phải gọi take_picture trước khi gọi save_picture.

file_exists#

file_exists(string filename)

Các Tham Số:

filename

Các Giá Trị Trả Về:

boolean cho biết tập tin có tồn tại hay không

Kiểm tra xem có một tập tin trên thẻ MMC/SD với tên tập tin được truyền vào hay không.

camera_set_resolution#

camera_set_resolution(integer resolution)

Các Tham Số:

resolution Độ phân giải mới cho camera

Các Giá Trị Trả Về:

không có

Đặt độ phân giải của CMUcam3. Độ phân giải phải là hoặc high hoặc low (xem các Hằng Số Độ Phân Giải Camera trong Lua API: Hằng Số).

camera_set_colorspace#

camera_set_colorspace(integer space)

Các Tham Số:

space Độ phân giải mới cho camera, phải là hoặc CC3_COLORSPACE_YCRCB HOẶC CC3_COLORSPACE_RGB

Các Giá Trị Trả Về:

không có

Đặt không gian màu cho CMUcam3 về hoặc YCRCB hoặc RGB (RGB là mặc định). Xem thêm Lua API: Hằng Số.

wait#

wait(integer ms)

Các Tham Số:

ms Số lượng mili giây để chờ

Các Giá Trị Trả Về:

không có

Chờ ms mili giây.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

Các Giá Trị Trả Về:

không có

Đặt các kênh quan tâm cho camera. Xác định các kênh nào camera ghi lại khi chụp ảnh. Đặt các giá trị nhỏ hơn cho COI có thể tăng tốc độ xử lý ảnh. Các giá trị hợp lệ cho COI có thể được tìm thấy trong các Hằng Số Kênh Quan Tâm trong Lua API: Hằng Số.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Các Tham Số:

img Một đối tượng ảnh mà các hàng pixbuf được đọc vào, num_rows Số lượng hàng để đọc

Các Giá Trị Trả Về:

Số lượng hàng đã được đọc thành công

Sao chép num_rows hàng từ bộ đệm ảnh của camera (pixbuf) vào đối tượng image được truyền vào.

pixbuf_get_width#

pixbuf_get_width()

Các Tham Số:

không có

Các Giá Trị Trả Về:

Chiều rộng của pixbuf tính bằng pixel

Lấy chiều rộng của bộ đệm ảnh (pixbuf). Bộ đệm ảnh phải đã được nạp trước khi gọi hàm này bằng cách gọi hoặc take_picture hoặc show_picture.

pixbuf_get_height#

pixbuf_get_height()

Các Tham Số:

không có

Các Giá Trị Trả Về:

Chiều cao của pixbuf tính bằng pixel

Lấy chiều cao của bộ đệm ảnh (pixbuf). Bộ đệm ảnh phải đã được nạp trước khi gọi hàm này bằng cách gọi hoặc take_picture hoặc show_picture.

pixel_new#

pixel_new()

Các Tham Số:

không có

Các Giá Trị Trả Về:

Một cấu trúc dữ liệu pixel mới

Tạo và trả về một cấu trúc dữ liệu pixel mới. Xem tài liệu pixel để biết chi tiết về cấu trúc. Xem thêm pixbuf_get_pixelget_pixel để biết cách sử dụng cấu trúc pixel.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Các Tham Số:

pxl Cấu trúc dữ liệu pixel mà các giá trị pixel được lưu vào. x, y Tọa độ x và y của pixel để lấy trong bộ đệm ảnh.

Các Giá Trị Trả Về:

không có, các giá trị pixel được lưu trong pixel được truyền vào

Lấy một pixel duy nhất từ trong bộ đệm ảnh của CMUcam3 (pixbuf). x và y lần lượt phải nhỏ hơn pixbuf_get_widthpixbuf_get_height. Nếu take_picture chưa được gọi để lưu một bức ảnh vào pixbuf, hàm này sẽ không thất bại, nhưng các giá trị được chèn vào pixel sẽ là rác.

image_new#

image_new(integer width, integer height)

Các Tham Số:

width Chiều rộng của ảnh, height Chiều cao của ảnh

Các Giá Trị Trả Về:

Một cấu trúc dữ liệu image mới.

Lấy một cấu trúc dữ liệu image mới, với chiều rộng, chiều cao và pixsize được truyền vào. Xem tài liệu image để biết thêm thông tin về việc sử dụng các cấu trúc dữ liệu image.

Lấy một pixel từ cấu trúc dữ liệu image được truyền vào. Các giá trị RGB của pixel sẽ được lưu vào cấu trúc dữ liệu pixel được truyền vào. Tham số x phải nhỏ hơn chiều rộng của image, và y phải nhỏ hơn chiều cao của image.

framediff_new#

framediff_new(integer template_width, integer template_height)

Các Tham Số:

template_width Chiều rộng của mẫu mà chúng ta đang lấy hiệu, template_height Chiều cao của mẫu

Các Giá Trị Trả Về:

Một cấu trúc dữ liệu framediff mới

Lấy một cấu trúc dữ liệu framediff mới, với chiều rộng và chiều cao mẫu được truyền vào. Các cấu trúc framediff thường được dùng để đánh giá sự khác biệt giữa hai khung hình ảnh chụp bằng CMUcam3, nhưng hãy xem tài liệu framediff để biết thêm thông tin.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

Các Tham Số:

fd Đối tượng framediff để sử dụng

Các Giá Trị Trả Về:

Trả về 1 nếu thành công.

Khởi tạo mọi thứ cần thiết để lấy hiệu khung hình bằng framediff_scanline. Chắc chắn rằng có một current_template được đặt trong cấu trúc framediff (hoặc nạp mẫu hiện tại nếu framediff:get_load_frame() là true).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Các Tham Số:

img Một cấu trúc dữ liệu image, fd Một cấu trúc dữ liệu framediff

Các Giá Trị Trả Về:

Trả về 1 nếu thành công

Lấy tất cả các pixel từ img và nạp chúng vào đúng vị trí trong cấu trúc framediff, để hai mẫu (current_template và previous_template) có thể được so sánh. Nếu fd:get_load_frame là true, sẽ nạp các pixel trong img vào vị trí mẫu trước đó. Nếu fd:get_load_frame là false, nạp các pixel từ img vào current_template.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

Các Tham Số:

fd Cấu trúc dữ liệu framediff để sử dụng

Các Giá Trị Trả Về:

Trả về 1 nếu thao tác thành công.

So sánh hai mẫu (current_template và previous_template) trong cấu trúc dữ liệu framediff, và tính toán số lượng pixel khác nhau, lưu giá trị đó vào framediff:get_num_pixels.

clear_graphics#

clear_graphics()

Các Tham Số:

không có

Các giá trị trả về:

không có

Xóa màn hình đồ họa CamScripter.

tracker_track_color#

tracker_track_color(tracker theTracker)

Các Tham Số:

đối tượng tracker được dùng để thực hiện việc theo dõi màu, được đặt với giá trị RGB mong muốn để đặt.

Các giá trị trả về:

boolean cho biết việc theo dõi có thể diễn ra hay không. Trả về true ngay cả khi không tìm thấy màu -- chỉ trả về false nếu một lỗi xảy ra.

Theo dõi một màu trong CMUcam3 bằng cách sử dụng đối tượng tracker được truyền vào. take_picture() phải được gọi trước khi cố theo dõi một màu. Phân tích bộ đệm ảnh, và đặt các giá trị trong đối tượng tracker để đưa ra một khung bao cho màu và một giá trị (x, y) biểu thị trọng tâm của màu. Xem tài liệu tracker để biết thêm chi tiết.