واجهة Lua البرمجية: tracker#
الوصف#
تُستخدم بنية بيانات المتتبع للمساعدة في تتبع الألوان في CMUcam3. تحتفظ بمعلومات حول التتبع الجاري، ومعاملات يمكن ضبطها للتحكم في اللون المتتبَّع وجوانب أخرى من تتبع الألوان. مهمة معلقة: أضف وصفًا جيدًا لماهية مربع الإحاطة، وماهية مركز الثقل
مثال#
فيما يلي مثال قصير يوضح كيفية استخدام كائن tracker للعثور على منطقة حمراء في إطار صورة 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) الصحيح لمركز الثقل
احصل على الإحداثي السيني (x) لمركز ثقل اللون الجاري تتبعه، حيث (0, 0) هي الزاوية العلوية اليسرى للصورة.
get_centroid_y#
trkr:get_centroid_y()
- المعاملات:
لا يوجد
- القيم المُعادة:
الإحداثي الصادي (y) الصحيح لمركز الثقل
احصل على الإحداثي الصادي (y) لمركز ثقل اللون الجاري تتبعه، حيث (0, 0) هي الزاوية العلوية اليسرى للصورة.
get_density#
trkr:get_density()
- المعاملات:
لا يوجد
- القيم المُعادة:
كثافة اللون الجاري تتبعه
احصل على كثافة اللون المتتبَّع داخل مخزن الصورة. الكثافة هي مقياس لمدى كثافة اللون الجاري تتبعه داخل المربع المحيط لمتتبع اللون -- كلما زاد عدد بكسلات اللون الجاري تتبعه في المربع، ارتفعت الكثافة.
get_num_pixels#
trkr:get_num_pixels()
- المعاملات:
لا يوجد
- القيم المُعادة:
عدد البكسلات في مخزن الصورة المطابقة للون متتبع اللون
احصل على العدد الإجمالي لبكسلات اللون الجاري تتبعه (كما تحدده قيم RGB المُمرَّرة إلى tracker_new) التي وُجدت في مخزن صورة CMUcam3.
get_x0#
trkr:get_x0()
- المعاملات:
لا يوجد
- القيم المُعادة:
القيمة الصحيحة للإحداثي السيني للركن الأيسر العلوي لمربع إحاطة تتبع الألوان.
عند استدعاء tracker_track_color، يُنشئ مربع إحاطة يصف حدود اللون المتتبَّع داخل الصورة. (x0, y0) هو موضع الركن الأيسر العلوي لذلك المربع، و(x1, y1) هو موضع الركن الأيمن السفلي لذلك المربع داخل مخزن الصورة المؤقت، حيث (0, 0) هو الركن الأيسر العلوي لمخزن الصورة المؤقت. تُعيد get_x0 الإحداثي السيني للركن الأيسر العلوي لمربع حد اللون.
get_y0#
trkr:get_y0()
- المعاملات:
لا يوجد
- القيم المُعادة:
القيمة الصحيحة للإحداثي الصادي للركن الأيسر العلوي لمربع إحاطة تتبع الألوان.
عند استدعاء tracker_track_color، يُنشئ مربع إحاطة يصف حدود اللون المتتبَّع داخل الصورة. (x0, y0) هو موضع الركن الأيسر العلوي لذلك المربع، و(x1, y1) هو موضع الركن الأيمن السفلي لذلك المربع داخل مخزن الصورة المؤقت، حيث (0, 0) هو الركن الأيسر العلوي لمخزن الصورة المؤقت. تُعيد get_y0 الإحداثي السيني للركن الأيسر العلوي لمربع حد اللون.
get_x1#
trkr:get_y1()
- المعاملات:
لا يوجد
- القيم المُعادة:
القيمة الصحيحة للإحداثي السيني للركن الأيمن السفلي لمربع إحاطة تتبع الألوان.
عند استدعاء tracker_track_color، يُنشئ مربع إحاطة يصف حدود اللون المتتبَّع داخل الصورة. (x0, y0) هو موضع الركن الأيسر العلوي لذلك المربع، و(x1, y1) هو موضع الركن الأيمن السفلي لذلك المربع داخل مخزن الصورة المؤقت، حيث (0, 0) هو الركن الأيسر العلوي لمخزن الصورة المؤقت. تُعيد get_x1 الإحداثي السيني للركن الأيسر العلوي لمربع حد اللون.
get_y1#
trkr:get_y1()
- المعاملات:
لا يوجد
- القيم المُعادة:
القيمة الصحيحة للإحداثي الصادي للركن الأيمن السفلي لمربع إحاطة تتبع الألوان.
عند استدعاء tracker_track_color، يُنشئ مربع إحاطة يصف حدود اللون المتتبَّع داخل الصورة. (x0, y0) هو موضع الركن الأيسر العلوي لذلك المربع، و(x1, y1) هو موضع الركن الأيمن السفلي لذلك المربع داخل مخزن الصورة المؤقت، حيث (0, 0) هو الركن الأيسر العلوي لمخزن الصورة المؤقت. تُعيد get_y1 الإحداثي السيني للركن الأيسر العلوي لمربع حد اللون.
set_lower_bound#
trkr:set_lower_bound(integer channel, integer bound)
- المعاملات:
channelالقناة التي تضبط لها حدًا. انظر ثوابت القناة محل الاهتمام في واجهة Lua البرمجية: الثوابت.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 البرمجية: الثوابت.boundأقصى قيمة ممكنة للقناة المعطاة. يجب أن تكون بين 0 و255.- القيم المُعادة:
لا يوجد
اضبط الحد الأعلى لإحدى القنوات في متتبع الألوان. الحد الأعلى هو أكبر قيمة يمكن أن يمتلكها البكسل في تلك القناة كي يتم تتبعه. لأغراض تتبع الألوان، ولكي يُعدّ أي بكسل قابلاً للتتبع، يجب أن يقع ذلك البكسل بين الحد الأدنى والحد الأعلى في كل من قنواته.