Lua API: tracker#
תיאור#
מבנה הנתונים tracker משמש לסיוע במעקב צבע ב-CMUcam3. הוא מחזיק מידע על המעקב המתבצע, ופרמטרים שניתן להגדיר כדי לשלוט באיזה צבע נעקב ובהיבטים אחרים של מעקב הצבע. TODO: הוסף תיאור טוב של מהי התיבה התוחמת, ומהו מרכז המסה
דוגמה#
הנה דוגמה קצרה המראה כיצד אובייקט העוקב משמש למציאת אזור אדום בפריים התמונה של ה-CMUcam3, ולאחר מכן אותה תיבה מודפסת לאזור הניפוי של CamScripter ב-Eclipse.
trkr = tracker_new(195, 0, 0, 255, 45, 45); -- track red
trkr:set_noise_filter(3); -- 2 is the default
take_picture();
tracker_track_color(trkr);
print_color_tracker(trkr); -- print color tracker info to the screen
print("num pixels tracked: " .. trkr:get_num_pixels()); -- print number of red pixels found in the picture
-- print_picture(); -- uncomment this line to print the picture itself to the screen as well (slower)
יצירה#
ראו tracker_new
מתודות#
get_centroid_xget_centroid_yget_densityget_num_pixelsget_x0get_x1get_y0get_y1set_lower_boundset_noise_filterset_upper_bound
get_centroid_x#
trkr:get_centroid_x()
- פרמטרים:
ללא
- ערכים מוחזרים:
קואורדינטת ה-x השלמה של המרכז (centroid)
קבל את קואורדינטת ה-x של המרכז (centroid) של הצבע הנעקב, כאשר (0, 0) היא הפינה השמאלית העליונה של התמונה.
get_centroid_y#
trkr:get_centroid_y()
- פרמטרים:
ללא
- ערכים מוחזרים:
קואורדינטת ה-y השלמה של המרכז (centroid)
קבל את קואורדינטת ה-y של המרכז (centroid) של הצבע הנעקב, כאשר (0, 0) היא הפינה השמאלית העליונה של התמונה.
get_density#
trkr:get_density()
- פרמטרים:
ללא
- ערכים מוחזרים:
צפיפות הצבע הנעקב
קבל את צפיפות הצבע הנעקב בתוך מאגר התמונה. צפיפות היא מדד לכמה צפוף הצבע הנעקב בתוך התיבה התוחמת של עוקב הצבע – ככל שיש יותר פיקסלים של הצבע הנעקב בתיבה, כך הצפיפות גבוהה יותר.
get_num_pixels#
trkr:get_num_pixels()
- פרמטרים:
ללא
- ערכים מוחזרים:
מספר הפיקסלים בבאפר התמונה התואמים לצבע של עוקב הצבע
קבל את המספר הכולל של פיקסלים של הצבע הנעקב (כפי שנקבע על ידי ערכי ה-RGB שהועברו ל-tracker_new) שנמצאו במאגר התמונה של ה-CMUcam3.
get_x0#
trkr:get_x0()
- פרמטרים:
ללא
- ערכים מוחזרים:
הערך השלם של קואורדינטת ה-x של הפינה השמאלית העליונה של התיבה התוחמת של מעקב הצבע.
כאשר tracker_track_color נקראת, היא מבססת תיבה תוחמת המתארת את גבולות הצבע הנעקב בתוך התמונה. (x0, y0) הוא מיקום הפינה השמאלית העליונה של אותה תיבה, ו-(x1, y1) הוא מיקום הפינה הימנית התחתונה של אותה תיבה בתוך מאגר התמונה, כאשר (0, 0) היא הפינה השמאלית העליונה של מאגר התמונה. get_x0 מחזיר את קואורדינטת ה-x של הפינה השמאלית העליונה של תיבת גבול הצבע.
get_y0#
trkr:get_y0()
- פרמטרים:
ללא
- ערכים מוחזרים:
הערך השלם של קואורדינטת ה-y של הפינה השמאלית העליונה של התיבה התוחמת של מעקב הצבע.
כאשר tracker_track_color נקראת, היא מבססת תיבה תוחמת המתארת את גבולות הצבע הנעקב בתוך התמונה. (x0, y0) הוא מיקום הפינה השמאלית העליונה של אותה תיבה, ו-(x1, y1) הוא מיקום הפינה הימנית התחתונה של אותה תיבה בתוך מאגר התמונה, כאשר (0, 0) היא הפינה השמאלית העליונה של מאגר התמונה. get_y0 מחזיר את קואורדינטת ה-x של הפינה השמאלית העליונה של תיבת גבול הצבע.
get_x1#
trkr:get_y1()
- פרמטרים:
ללא
- ערכים מוחזרים:
הערך השלם של קואורדינטת ה-x של הפינה הימנית התחתונה של התיבה התוחמת של מעקב הצבע.
כאשר tracker_track_color נקראת, היא מבססת תיבה תוחמת המתארת את גבולות הצבע הנעקב בתוך התמונה. (x0, y0) הוא מיקום הפינה השמאלית העליונה של אותה תיבה, ו-(x1, y1) הוא מיקום הפינה הימנית התחתונה של אותה תיבה בתוך מאגר התמונה, כאשר (0, 0) היא הפינה השמאלית העליונה של מאגר התמונה. get_x1 מחזיר את קואורדינטת ה-x של הפינה השמאלית העליונה של תיבת גבול הצבע.
get_y1#
trkr:get_y1()
- פרמטרים:
ללא
- ערכים מוחזרים:
הערך השלם של קואורדינטת ה-y של הפינה הימנית התחתונה של התיבה התוחמת של מעקב הצבע.
כאשר tracker_track_color נקראת, היא מבססת תיבה תוחמת המתארת את גבולות הצבע הנעקב בתוך התמונה. (x0, y0) הוא מיקום הפינה השמאלית העליונה של אותה תיבה, ו-(x1, y1) הוא מיקום הפינה הימנית התחתונה של אותה תיבה בתוך מאגר התמונה, כאשר (0, 0) היא הפינה השמאלית העליונה של מאגר התמונה. get_y1 מחזיר את קואורדינטת ה-x של הפינה השמאלית העליונה של תיבת גבול הצבע.
set_lower_bound#
trkr:set_lower_bound(integer channel, integer bound)
- פרמטרים:
channelהערוץ שאתה מגדיר עבורו גבול. ראה את קבועי ערוץ העניין ב-Lua API: קבועים.boundהערך המינימלי האפשרי עבור הערוץ הנתון. חייב להיות בין 0 ל-255.- ערכים מוחזרים:
ללא
הגדירו את הגבול התחתון עבור ערוץ אחד בעוקב הצבע. הגבול התחתון הוא הערך המינימלי שפיקסל יכול לקבל בערוץ זה כדי להיעקב. למטרות מעקב צבע, כדי שפיקסל כלשהו ייחשב בר-מעקב, פיקסל זה חייב להיות בין הגבול התחתון לעליון בכל אחד מערוציו.
set_noise_filter#
trkr:set_noise_filter(integer filter)
- פרמטרים:
filterערך פילטר הרעש החדש. ברירת המחדל היא 2.- ערכים מוחזרים:
ללא
ערך מסנן הרעש קובע כמה פיקסלים פעילים רצופים לפני פיקסל נדרשים לפני שהפיקסל צריך להיספר כמזוהה על ידי מעקב צבע. הערך חייב להיות בין 0 ל-255.
set_upper_bound#
trkr:set_upper_bound(integer channel, integer bound)
- פרמטרים:
channelהערוץ שאתה מגדיר עבורו גבול. ראה את קבועי ערוץ העניין ב-Lua API: קבועים.boundהערך המקסימלי האפשרי עבור הערוץ הנתון. חייב להיות בין 0 ל-255.- ערכים מוחזרים:
ללא
הגדירו את הגבול העליון עבור ערוץ אחד בעוקב הצבע. הגבול העליון הוא הערך המקסימלי שפיקסל יכול לקבל בערוץ זה כדי להיעקב. למטרות מעקב צבע, כדי שפיקסל כלשהו ייחשב בר-מעקב, פיקסל זה חייב להיות בין הגבול התחתון לעליון בכל אחד מערוציו.