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).
print_picture#
print_picture()
- פרמטרים:
ללא
- ערכים מוחזרים:
ללא
שלחו את התמונה שזה עתה צולמה דרך היציאה הטורית כדי שתוצג בחלון ה-debug של CamScripter. עליכם לקרוא ל-take_picture לפני הקריאה לפונקציה זו - היא אינה מצלמת תמונה בעצמה.
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 וטוען אותם לחריץ המתאים במבנה 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.
print_color_tracker#
print_color_tracker(tracker tracker)
- פרמטרים:
trackerה-tracker מספק את הנתונים המשמשים להדפסה- ערכים מוחזרים:
ללא
משתמש בנתונים באובייקט ה-tracker כדי להדפיס מידע ניפוי ב-CamScripter. מדפיס מלבן המייצג את התמונה במאגר התמונה של המצלמה, עם מלבן נוסף בתוכו המייצג את התיבה התוחמת של הצבע הנעקב, ונקודה אדומה המראה את המרכז (centroid) של הצבע בתוך התמונה.
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. צבע ברירת המחדל הוא שחור.- ערכים מוחזרים:
ללא
מצייר מלבן ברוחב width פיקסלים ובגובה height פיקסלים בלשונית הגרפיקה של CamScripter. ארגומנטים אופציונליים red, green, ו-blue מאפשרים לשנות את צבע המלבן באמצעות ערכי RGB בין 0 ל-255.
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 רק אם התרחשה שגיאה.
עקוב אחר צבע ב-CMUcam3 באמצעות אובייקט ה-tracker שהועבר. take_picture() חייבת להיקרא לפני ניסיון לעקוב אחר צבע. מנתח את מאגר התמונה, ומגדיר ערכים באובייקט ה-tracker כדי לתת תיבה תוחמת לצבע וערך (x, y) המייצג את המרכז (centroid) של הצבע. ראה תיעוד ה-tracker לפרטים נוספים.