واجهة Lua البرمجية: الدوال#
set_debug#
set_debug(boolean debug_on)
- المعاملات:
debug_on-- مرّر قيمة تُقيَّم إما إلى true (تصحيح الأخطاء مفعّل) أو false (تصحيح الأخطاء متوقف)- القيم المُعادة:
لا يوجد
فعّل أو أوقف تصحيح الأخطاء. عندما يكون تصحيح الأخطاء مفعّلاً، ستحاول الكاميرا إرسال معلومات تصحيح الأخطاء النصية والصورية عبر المنفذ التسلسلي. أوقف تصحيح الأخطاء بمجرد انتهاء البرنامج لتحسين الأداء.
print#
الاستخدام: print("a message") / print("one plus one is ", 1+1)
- المعاملات:
مرّر أي عدد من القيم كما تريد.
- القيم المُعادة:
لا يوجد
دالة تصحيح أخطاء، تُستخدم لطباعة القيم. سترسل CMUcam3 جميع القيم المُمرَّرة إلى هذه الدالة إلى مكوّن CamScripter الإضافي في Eclipse، حيث ستُعرض في منطقة وحدة التحكم.
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()
- المعاملات:
لا يوجد
- القيم المُعادة:
لا يوجد
أرسل الصورة التي التُقطت للتو عبر المنفذ التسلسلي لعرضها في نافذة تصحيح الأخطاء 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. يجب أن تكون الدقة إما عالية أو منخفضة (انظر ثوابت دقة الكاميرا في واجهة Lua البرمجية: الثوابت).
camera_set_colorspace#
camera_set_colorspace(integer space)
- المعاملات:
spaceالفضاء اللوني الجديد للكاميرا، يجب أن يكون إماCC3_COLORSPACE_YCRCBأوCC3_COLORSPACE_RGB- القيم المُعادة:
لا يوجد
اضبط الفضاء اللوني لـ CMUcam3 إما إلى YCRCB أو RGB (وRGB هو الافتراضي). انظر أيضًا واجهة Lua البرمجية: الثوابت.
wait#
wait(integer ms)
- المعاملات:
msعدد المللي ثوانٍ المراد الانتظار- القيم المُعادة:
لا يوجد
انتظر ms مللي ثانية.
pixbuf_set_coi#
pixbuf_set_coi(integer coi)
- القيم المُعادة:
لا يوجد
اضبط القنوات محل الاهتمام للكاميرا. تحدد القنوات التي تسجلها الكاميرا عند التقاط الصور. ضبط قيم أصغر لـ COI يمكن أن يسرّع معالجة الصور. يمكن العثور على القيم الصالحة لـ COI في ثوابت القناة محل الاهتمام في واجهة Lua البرمجية: الثوابت.
pixbuf_read_rows#
pixbuf_read_rows(image img, integer num_rows)
- المعاملات:
imgكائن صورة تُقرأ فيه صفوف 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الإحداثيان السيني والصادي للبكسل المراد استرجاعه داخل مخزن الصورة المؤقت.- القيم المُعادة:
لا شيء، تُخزَّن قيم البكسل في 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() صحيحة).
framediff_scanline#
framediff_scanline(image img, framediff fd)
يحصل على جميع البكسلات من img ويحمّلها في الفتحة المناسبة في بنية framediff، بحيث يمكن مقارنة القالبين (current_template وprevious_template). إذا كانت fd:get_load_frame صحيحة، سيحمّل البكسلات في img إلى فتحة القالب السابق. إذا كانت fd:get_load_frame خاطئة، يحمّل البكسلات من 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. يطبع مستطيلاً يمثل الصورة في مخزن صورة الكاميرا المؤقت، مع مستطيل آخر بداخله يمثل مربع الإحاطة للون المتتبَّع، ونقطة حمراء تُظهر مركز ثقل اللون داخل الصورة.
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) تمثل مركز ثقل اللون. انظر توثيق المتتبع لمزيد من التفاصيل.