الرسم
عادةً ما تحتاج أنظمة الرؤية إلى تقديم بعض التغذية الراجعة للمستخدم. ومن الطرق البديهية جدًا عرضها مباشرة داخل الصورة. تمامًا كما في برنامج البدء السريع لمدة 10 دقائق، عندما يتم العثور على كتلة لونية، يتم تمييز هذه المنطقة بمربع مستطيل، وهو أمر بديهي للغاية.

ملاحظة:
يمكن أن يكون اللون قيمة تدرج رمادي (0-255) أو مجموعة (tuple) من قيم الألوان (r، g، b). القيمة الافتراضية هي الأبيض.
يجب تحديد كلمة اللون صراحةً باستخدام color=. على سبيل المثال:
image.draw_line((10,10,20,30), color=(255,0,0))
image.draw_rectangle(rect_tuple, color=(255,0,0))
رسم خط
- image.draw_line(line_tuple, color=White) يرسم خطًا مستقيمًا في الصورة.
- تنسيق line_tuple هو (x0, y0, x1, y1)، ويعني رسم خط مستقيم من (x0, y0) إلى (x1, y1).
- يمكن أن يكون اللون قيمة تدرج رمادي (0-255) أو مجموعة (tuple) من قيم الألوان (r، g، b). القيمة الافتراضية هي الأبيض
رسم مستطيل
- image.draw_rectangle(rect_tuple, color=White) يرسم مربعًا مستطيلًا في
الصورة.
- تنسيق rect_tuple هو (x, y, w, h).
رسم دائرة
- image.draw_circle((x, y, radius), color=White) يرسم دائرة في الصورة.
- x,y هما إحداثيات مركز الدائرة
- radius هو نصف قطر الدائرة
رسم علامة زائد
- image.draw_cross((x, y), size=5, color=White) يرسم علامة زائد في الصورة
- x,y هما الإحداثيات
- size هو طول الضلعين
كتابة نص
- image.draw_string((x, y), text, color=White) كتابة نص في الصورة بحجم 8x10
بكسل
- x,y هما الإحداثيات. استخدام \n و\r و\r\n سينقل المؤشر إلى السطر التالي.
- text هو النص المراد كتابته.
مثال
# Hello World Example
#
# Welcome to the OpenMV IDE! Click on the green run arrow button below to run the script!
import csi, image, time
csi0 = csi.CSI()
csi0.reset() # تهيئة الكاميرا
csi0.pixformat(csi.RGB565) # الصيغة RGB565.
csi0.framesize(csi.QQVGA)
csi0.snapshot(frames=10) # تخطي 10 إطارات لتفعيل الإعدادات الجديدة
while(True):
img = csi0.snapshot() # Take a picture and return the image.
img.draw_line((20, 30, 40, 50))
img.draw_line((80, 50, 100, 100), color=(255,0,0))
img.draw_rectangle((20, 30, 41, 51), color=(255,0,0))
img.draw_circle((50, 50, 30))
img.draw_cross((90, 60),size=10)
img.draw_string((10, 10), "hello world!")
