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_x

  • get_centroid_y

  • get_density

  • get_num_pixels

  • get_x0

  • get_x1

  • get_y0

  • get_y1

  • set_lower_bound

  • set_noise_filter

  • set_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.

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

ללא

הגדירו את הגבול העליון עבור ערוץ אחד בעוקב הצבע. הגבול העליון הוא הערך המקסימלי שפיקסל יכול לקבל בערוץ זה כדי להיעקב. למטרות מעקב צבע, כדי שפיקסל כלשהו ייחשב בר-מעקב, פיקסל זה חייב להיות בין הגבול התחתון לעליון בכל אחד מערוציו.