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 תשלח את כל הערכים שהועברו לפונקציה זו לתוסף ה-Eclipse CamScripter, שם הם יוצגו באזור הקונסולה.

turn_on_led#

turn_on_led(integer led_number)

פרמטרים:

led_number מספר נורית ה-LED של ה-CMUcam3 להדליק. 0, 1, 2 הם הערכים החוקיים היחידים.

ערכים מוחזרים:

ללא

הדלק אחת מנוריות ה-LED של ה-CMUcam3.

turn_off_led#

turn_off_led(integer led_number)

פרמטרים:

led_number מספר נורית ה-LED של ה-CMUcam3 להדליק. 0, 1, 2 הם הערכים החוקיים היחידים.

ערכים מוחזרים:

ללא

כבה אחת מנוריות ה-LED של ה-CMUcam3.

take_picture#

take_picture()

פרמטרים:

ללא

ערכים מוחזרים:

ללא

צלמו תמונה עם ה-CMUcam3, וטענו את באפר התמונה (pixbuf).

save_picture#

save_picture(string filename)

פרמטרים:

filename שם הקובץ לנסות ולשמור תחתיו את התמונה.

ערכים מוחזרים:

ללא

שמרו את התמונה הנמצאת כעת בבאפר התמונה תחת שם הקובץ שהועבר. שם הקובץ חייב להיות שם קובץ FAT16 חוקי <8.3>, אחרת תוחזר שגיאה. אם כבר קיים קובץ עם שם הקובץ הנתון, הוא ידרס. שימו לב שפונקציה זו אינה מצלמת תמונה בעצמה - עליכם לקרוא ל-take_picture לפני הקריאה ל-save_picture.

file_exists#

file_exists(string filename)

פרמטרים:

filename

ערכים מוחזרים:

בוליאני המציין אם הקובץ קיים

בדקו אם קיים קובץ על כרטיס ה-MMC/SD עם שם הקובץ שהועבר.

camera_set_resolution#

camera_set_resolution(integer resolution)

פרמטרים:

resolution הרזולוציה החדשה עבור המצלמה

ערכים מוחזרים:

ללא

הגדירו את הרזולוציה של ה-CMUcam3. הרזולוציה חייבת להיות high או low (ראו את Camera Resolution Constants ב-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 ניתן למצוא ב-Channel of Interest Constants ב-Lua API: קבועים.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

פרמטרים:

img אובייקט image שאליו נקראות שורות ה-pixbuf, 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_pixel ו-get_pixel לשימוש במבנה pixel.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

פרמטרים:

pxl מבנה הנתונים pixel שבו יש לאחסן את ערכי הפיקסל. x, y קואורדינטות ה-x וה-y של הפיקסל לאחזור בתוך מאגר התמונה.

ערכים מוחזרים:

ללא, ערכי הפיקסל מאוחסנים ב-pixel שהועבר

קבל pixel יחיד מתוך מאגר התמונה של ה-CMUcam3 (pixbuf). x ו-y חייבים להיות קטנים מ-pixbuf_get_width ו-pixbuf_get_height, בהתאמה. אם take_picture לא נקראה כדי לשמור תמונה ב-pixbuf פונקציה זו לא תיכשל, אך הערכים שיוכנסו ל-pixel יהיו זבל.

image_new#

image_new(integer width, integer height)

פרמטרים:

width הרוחב של התמונה, height גובה התמונה

ערכים מוחזרים:

מבנה נתונים image חדש.

קבל מבנה נתונים חדש של image, עם הרוחב, הגובה ו-pixsize שהועברו. ראה את תיעוד ה-image למידע נוסף על השימוש במבני נתונים של image.

קבל pixel ממבנה הנתונים image שהועבר. ערכי ה-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. מוודא שיש current_template מוגדר במבנה framediff (או טוען את התבנית הנוכחית אם 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 לחריץ התבנית הקודמת. אם fd:get_load_frame הוא false, יטען את הפיקסלים מ-img ל-current_template.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

פרמטרים:

fd מבנה הנתונים framediff לשימוש

ערכים מוחזרים:

מחזיר 1 אם הפעולה הצליחה.

משווה בין שתי התבניות (current_template ו-previous_template) במבנה הנתונים framediff, ומחשב את מספר הפיקסלים השונים, ושומר ערך זה ב-framediff:get_num_pixels.

clear_graphics#

clear_graphics()

פרמטרים:

ללא

ערכים מוחזרים:

ללא

נקה את מסך הגרפיקה של CamScripter.

tracker_track_color#

tracker_track_color(tracker theTracker)

פרמטרים:

אובייקט ה-tracker המשמש לביצוע מעקב הצבע, המוגדר עם ערך ה-RGB הרצוי.

ערכים מוחזרים:

בוליאני המציין אם המעקב הצליח להתרחש. מחזיר true אף אם הצבע לא נמצא – מחזיר false רק אם התרחשה שגיאה.

עקוב אחר צבע ב-CMUcam3 באמצעות אובייקט ה-tracker שהועבר. take_picture() חייבת להיקרא לפני ניסיון לעקוב אחר צבע. מנתח את מאגר התמונה, ומגדיר ערכים באובייקט ה-tracker כדי לתת תיבה תוחמת לצבע וערך (x, y) המייצג את המרכז (centroid) של הצבע. ראה תיעוד ה-tracker לפרטים נוספים.