triggered_mode.py

# هذا العمل مرخص بموجب ترخيص MIT.
# حقوق النشر (c) 2013-2023 OpenMV LLC. جميع الحقوق محفوظة.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# مثال وضع التشغيل بالمشغل الزمني (triggered) للغالق الشامل (Global Shutter)
#
# يوضح هذا المثال ضبط كاميرا الغالق الشامل في وضع التشغيل بالمشغل الزمني. في هذا الوضع
# تتحكم snapshot() بشكل دقيق تمامًا في وقت بدء تكامل بكسلات الكاميرا بحيث يمكنك المزامنة
# بين التقاط الصور وحركة خارجية ما. وبما أن الكاميرا تلتقط جميع البكسلات في نفس الوقت
# (كونها كاميرا غالق شامل مقارنة بكاميرا الغالق المتدحرج) فإن الحركة في الصورة
# لن تُلتقط إلا لمدة زمن التكامل فقط وليس زمن التكامل مضروبًا في عدد
# الصفوف في الصورة. بالإضافة إلى ذلك، تقل ضوضاء الحساس في وضع التشغيل بالمشغل الزمني لأن الكاميرا
# لن تقرأ الصفوف إلا بعد انتهاء التعريض الضوئي، مما ينتج عنه صورة بجودة أعلى.
#
# مع ذلك، سينخفض أقصى معدل إطارات لديك بمقدار 2 إلى 3 لأن الإطارات لم تعد تُنتج
# بشكل مستمر من الكاميرا ولأنه يجب عليك الانتظار حتى ينتهي التكامل قبل
# قراءة الإطار.

import csi
import time

csi0 = csi.CSI()
csi0.reset()  # إعادة ضبط المستشعر وتهيئته.
csi0.pixformat(csi.GRAYSCALE)  # تعيين صيغة البكسل إلى GRAYSCALE
csi0.framesize(csi.VGA)  # تعيين حجم الإطار إلى VGA (640x480)
csi0.snapshot(time=2000)  # انتظر حتى تدخل الإعدادات حيز التنفيذ.
clock = time.clock()  # أنشئ كائن ساعة (clock) لتتبع معدل الإطارات (FPS).

csi0.ioctl(csi.IOCTL_SET_TRIGGERED_MODE, True)

while True:
    clock.tick()  # تحديث ساعة معدل الإطارات (FPS).
    img = csi0.snapshot()  # التقاط صورة وإرجاعها.
    print(clock.fps())  # ملاحظة: تعمل كاميرا OpenMV بحوالي نصف السرعة عند الاتصال
    # بالـ IDE. يجب أن يزداد معدل الإطارات (FPS) بعد قطع الاتصال.

results matching ""

    No results matching ""