وحدة كاميرا المغلاق الشامل¶
وحدة كاميرا المغلاق الشامل هي مستشعر أحادي اللون يلتقط الحركة السريعة دون عيوب المغلاق المتدحرج. مناسبة للتتبع عالي السرعة والطائرات المسيّرة ولقطات الرؤية الآلية. تأتي الوحدة بمستشعر MT9V024 أو MT9V034.
للاطلاع على ورقة البيانات الكاملة والصور ومعلومات الطلب، راجع صفحة منتج وحدة كاميرا المغلاق الشامل.
أبرز الميزات¶
مستشعر أحادي اللون بمغلاق شامل بدقة 752x480
80 FPS عند QVGA، و 200 FPS عند QQVGA، و 400 FPS عند QQQVGA
نطاق ديناميكي 55 dB
متوافقة مع جميع اللوحات الأساسية المعيارية لـ OpenMV Cam
الاستخدام¶
بث فيديو بتدرج الرمادي بدقة 320x240 (QVGA):
import csi
import time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize(csi.QVGA)
clock = time.clock()
while True:
clock.tick()
img = csi0.snapshot()
print(clock.fps())
يفعّل المستشعر تلقائياً تجميع البكسلات عند الدقات المنخفضة — مضاعفة 2x عند QVGA (320x240) أو أصغر، و 4x عند QQVGA (160x120) أو أصغر — مما يقلّص زمن القراءة بالتناسب ويرفع معدل الإطارات. لكن الكاميرا لا يزال عليها تجميع الضوء طوال نافذة التعريض المطلوبة، لذا اقرن خفض حجم الإطار بسقف تعريض أقصر عبر csi.CSI.auto_exposure لتبلغ المعدلات الأعلى فعلياً (ستكون الصورة أكثر قتامة — خطّط لإضاءة إضافية):
import csi
import time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize(csi.QQVGA)
csi0.snapshot(time=2000) # let auto-exposure settle
csi0.auto_exposure(True, exposure_us=5000) # cap exposure
clock = time.clock()
while True:
clock.tick()
img = csi0.snapshot()
print(clock.fps())
يحاذي الوضع المُشغَّل تجميع البكسل تماماً مع كل استدعاء csi.CSI.snapshot، بحيث تتزامن الالتقاطات مع اللقطة بدلاً من ساعة الإطار حرة الجريان للكاميرا — مفيد للمزامنة مع حدث خارجي أو مستشعر آخر. فعّله عبر csi.CSI.ioctl مع csi.IOCTL_SET_TRIGGERED_MODE — وينخفض معدل الإطارات إلى نحو نصف الوضع حر الجريان لأن القراءة لم تعد تتداخل مع تجميع الإطار التالي:
import csi
import time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize(csi.VGA)
csi0.snapshot(time=2000)
csi0.ioctl(csi.IOCTL_SET_TRIGGERED_MODE, True)
clock = time.clock()
while True:
clock.tick()
img = csi0.snapshot()
print(clock.fps())