מודול מצלמת תריס גלובלי (Global Shutter)¶
מודול מצלמת התריס הגלובלי הוא חיישן מונוכרום הלוכד תנועה מהירה ללא ארטיפקטים של תריס מתגלגל (rolling-shutter). מתאים למעקב במהירות גבוהה, לרחפנים ולתמונות בזק (snapshot) של ראייה ממוחשבת. המודול מסופק עם חיישן 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())
החיישן מפעיל אוטומטית איגוד פיקסלים (binning) ברזולוציות נמוכות יותר — פי 2 ב-QVGA (320x240) או קטן יותר, פי 4 ב-QQVGA (160x120) או קטן יותר — מה שמקצר את זמן הקריאה באופן יחסי ודוחף את קצב הפריימים מעלה. עם זאת, המצלמה עדיין צריכה לאסוף אור עבור חלון החשיפה המבוקש, ולכן צרפו את הקטנת ה-framesize עם הגבלת חשיפה קצרה יותר באמצעות 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())