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_numberSố 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_numberSố 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).
print_picture#
print_picture()
- Các Tham Số:
không có
- Các Giá Trị Trả Về:
không có
Gửi bức ảnh vừa được chụp qua cổng serial để được hiển thị trong cửa sổ gỡ lỗi CamScripter. Bạn phải gọi take_picture trước khi gọi hàm này - nó không tự chụp một bức ảnh.
save_picture#
save_picture(string filename)
- Các Tham Số:
filenameTê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ặcCC3_COLORSPACE_YCRCBHOẶCCC3_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ố:
msSố 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ố:
imgMột đối tượng ảnh mà các hàng pixbuf được đọc vào,num_rowsSố 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_pixel và get_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ố:
pxlCấu trúc dữ liệu pixel mà các giá trị pixel được lưu vào.x,yTọ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_width và pixbuf_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ố:
widthChiều rộng của ảnh,heightChiề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_widthChiều rộng của mẫu mà chúng ta đang lấy hiệu,template_heightChiề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ố:
imgMột cấu trúc dữ liệu image,fdMộ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ố:
fdCấ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.
print_color_tracker#
print_color_tracker(tracker tracker)
- Các Tham Số:
trackertracker cung cấp dữ liệu được dùng để in- Các Giá Trị Trả Về:
không có
Sử dụng dữ liệu trong đối tượng tracker để in ra thông tin gỡ lỗi trên CamScripter. In một hình chữ nhật biểu thị bức ảnh trong bộ đệm ảnh của camera, với một hình chữ nhật khác bên trong nó biểu thị khung bao cho màu đang được theo dõi, và một chấm đỏ cho thấy trọng tâm của màu trong bức ảnh.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Các Tham Số:
x,ylà vị trí tọa độ của góc trên bên trái của hình chữ nhật tính theo khoảng cách từ góc trên bên trái của màn hình đồ họa.widthvàheightlà chiều rộng và chiều cao của hình chữ nhật. Các đối số tùy chọnred,green, vàbluecho màu mà hình chữ nhật sẽ được vẽ dưới dạng một giá trị RGB. Màu mặc định là đen.- Các Giá Trị Trả Về:
không có
Vẽ một hình chữ nhật rộng width pixel và cao height pixel trong tab đồ họa CamScripter. Các đối số tùy chọn red, green, và blue cho phép thay đổi màu của hình chữ nhật bằng các giá trị RGB từ 0 đến 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Các Tham Số:
Điểm bắt đầu và điểm kết thúc cho đường thẳng, và các đối số tùy chọn để đặt màu của đường thẳng.
- Các Giá Trị Trả Về:
không có
Vẽ một đường thẳng trên màn hình đồ họa CamScripter từ (start_x, start_y) đến (end_x, end_y). Màu RGB của đường thẳng có thể được chỉ định bằng các đối số tùy chọn red, green, và blue. Màu mặc định là đen, nếu không chỉ định màu nào.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Các Tham Số:
Góc trên bên trái của hình bầu dục được chỉ định bởi (x, y). Chiều rộng và chiều cao tính bằng pixel. Red, green, và blue là các đối số tùy chọn để đặt màu của hình bầu dục.
- Các giá trị trả về:
không có
Vẽ một hình bầu dục trên màn hình đồ họa CamScripter. Góc trên bên trái của hình bầu dục nằm ở điểm (x, y). Màu RGB của hình bầu dục có thể được chỉ định bằng các đối số tùy chọn red, green, và blue. Màu mặc định là đen, nếu không chỉ định màu nào.
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.