csi — חיישני מצלמה#

המודול csi הוא הממשק המודרני, מוכוון-העצמים, לחיישן(י) המצלמה שב-OpenMV Cam. כל חיישן פיזי מיוצג על ידי מופע של CSI, כך שלוחות הדמיין הרב-ספקטרלי שמשלבים חיישן צבע עם חיישן תרמי או חיישן אירועים יכולים להפעיל כל אחד מהם באופן עצמאי על ידי העברת cid שונה לבנאי. מצלמות עם חיישן יחיד פשוט יוצרות מופע אחד של CSI.

אובייקט CSI הוא הבעלים של תצורת החיישן המלאה – פורמט פיקסל, framesize / חלון, חשיפה / הגבר (gain) / איזון לבן, שיקוף והיפוך חומרתיים, דפוס בדיקה של פסי צבע, שעון קצב פריימים, ROI לחשיפה אוטומטית, ופקודות ioctl ספציפיות לשבב. פריימים נלכדים באמצעות CSI.snapshot(), שמחזירה image.Image הנתמכת על ידי חוצץ הפריימים (frame buffer).

מודול זה מחליף את המודול הישן sensor (שחשף את אותה פונקציונליות כפונקציות ברמת המודול הקשורות לחיישן מוסתר יחיד). קוד חדש צריך להשתמש ב-CSI.

דוגמת שימוש:

import csi

# Setup camera.
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QVGA)
csi0.snapshot(time=2000)  # skip frames

# Take pictures.
while(True):
    csi0.snapshot()

שימוש ב-Asyncio#

לולאת CSI.snapshot() החוסמת שלמעלה אינה משתפת פעולה עם לולאת האירועים של asyncio – בזמן ש-snapshot ממתינה לפריים הבא, כל קורוטינה אחרת בתוכנית קפואה. כדי לאפשר ללולאת לכידה להתקיים יחד עם עבודה מקבילה אחרת (לקוח UART, צופה בלחצן, משימת רשת) עטוף את CSI במתאם קטן שהופך את snapshot לקורוטינה ידידותית ל-await על ידי דגימה של snapshot(blocking=False) והשבת השליטה ללולאת האירועים בין הבדיקות:

import asyncio
import csi


class AsyncCSI:
    def __init__(self, *args, **kwargs):
        self._csi = csi.CSI(*args, **kwargs)

    def __getattr__(self, name):
        return getattr(self._csi, name)

    async def snapshot(self):
        while True:
            img = self._csi.snapshot(blocking=False)
            if img is not None:
                return img
            await asyncio.sleep_ms(0)

__getattr__ מעביר כל מאפיין אחר (reset, pixformat, framesize, כפתורי החיישן) ל-CSI הבסיסי כך שהעוטף הוא תחליף ישיר. הקריאה הלא-חוסמת הראשונה גם מתחילה את לכידת ה-DMA של המצלמה אם היא לא הייתה כבר פעילה, כך שאין צורך באתחול נוסף.

לולאת לכידה משתלבת אז בתוכנית asyncio גדולה יותר פשוט כקורוטינה נוספת:

async def capture_loop(cam):
    while True:
        img = await cam.snapshot()
        # process img here

async def main():
    cam = AsyncCSI()
    cam.reset()
    cam.pixformat(csi.RGB565)
    cam.framesize(csi.QVGA)

    asyncio.create_task(some_other_task())
    await capture_loop(cam)

asyncio.run(main())

הגדרת framebuffers עדיין משמעותית בצורה זו – מצב חוצץ-יחיד גורם ל-snapshot(blocking=False) להחזיר None עד שהפריים הבא נלכד, בעוד שחציצה כפולה או משולשת מחליקה זאת כך שהעוטף בדרך כלל מוצא פריים מחוצץ ממתין בדגימה הראשונה. ראה את אבן הראשה AsyncCSI במדריך ה-asyncio להסבר המלא.

class CSI – ממשק חיישן המצלמה#

המחלקה CSI משמשת לשליטה בחיישן מצלמה.

class csi.CSI(cid: int = -1, delays: bool = True, fflush: bool = True, stream: bool | None = None)#

יוצר אובייקט לתקשורת עם חיישן מצלמה. בלוחות עם מספר חיישנים, ניתן לבחור את אובייקט ה-CSI המסוים על ידי העברת cid כמו csi.LEPTON כדי לבחור מודול חיישן FLIR Lepton. אם cid הוא -1 נבחר החיישן הראשי (בדרך כלל מודול מצלמת צבע בלוחות מרובי-חיישנים).

אם delays הוא False אזי כל השהיות זמן ההתייצבות במנהל ההתקן csi מנוטרלות. כברירת מחדל מנהל התקן החיישן משהה לאחר איפוס / שינוי מצב כדי למנוע החזרת פריימים פגומים על ידי CSI.snapshot. ניטרול ההשהיות מאפשר לך לקבץ עדכונים ולהחיל השהיה אחת בסוף לפני קריאה ל-CSI.snapshot.

אם fflush הוא False אזי השטיפה האוטומטית של חוצץ הפריימים המוזכרת ב-CSI.framebuffers מנוטרלת. הדבר מסיר כל מגבלת זמן על פריימים ב-fifo של חוצץ הפריימים (frame buffer).

stream בוחר האם CSI זה הוא מקור הזרם הנשלח ל-IDE. אם None (ברירת מחדל) ה-CSI הופך למקור הזרם רק אם הוא החיישן הראשי (הלא-משני). העבר True כדי לכפות על CSI זה להיות מקור הזרם, או כל ערך שקרי כדי להשאיר את מקור הזרם הקיים ללא שינוי.

מתודות#

reset(hard: bool = True) None#

מאתחל את חיישן המצלמה. מבצע איפוס חומרתי על ידי החלפת אות RESET של ה-GPIO למודול המצלמה אם hard הוא True. hard צריך להיות מוגדר ל-false בעת איפוס חיישני מצלמה משניים שחולקים את אותו אות RESET של GPIO כמו המודול הראשי.

shutdown(enable: bool) None#

מעביר את המצלמה למצב צריכת חשמל נמוכה יותר משינה (אך יש לאפס את המצלמה בעת ההתעוררות).

sleep(enable: bool) None#

מעביר את המצלמה לשינה אם enable הוא True. אחרת, מעיר אותה בחזרה.

flush() None#

מעתיק את תוכן חוצץ הפריימים הנוכחי לתצוגה המקדימה של ה-IDE. קרא לזה לאחר CSI.snapshot האחרון אם הסקריפט מסתיים כדי שה-IDE יציג את הפריים האחרון.

snapshot(time: int = -1, frames: int = -1, blocking: bool = True, image: image.Image | None = None) image.Image | None#

מצלם תמונה באמצעות המצלמה ומחזיר אובייקט image.Image.

אם מועברים time ו/או frames snapshot תחסום למשך אותם time מילישניות ו/או frames שנלכדו מהמצלמה. ניתן להשתמש בשני הארגומנטים בו-זמנית. לאחר שעברו time ו/או frames snapshot תחזיר None.

blocking עשוי להיות False כדי לאפשר התנהגות לא-חוסמת אשר תגרום ל-snapshot להחזיר None כאשר התמונה הבאה מהמצלמה אינה מוכנה במקום להמתין.

image עשוי להיות אובייקט image.Image אחר לעדכון עם התמונה החדשה שנלכדה מהמצלמה במקום החזרת אובייקט image.Image חדש. תוכן התמונה הקודם נכתב מחדש באמצעות העתקה עמוקה.

אם CSI.auto_rotation מופעל מתודה זו תחזיר image.Image שכבר עברה סיבוב.

width() int#

מחזיר את רוחב רזולוציית החיישן.

height() int#

מחזיר את גובה רזולוציית החיישן.

cid() int#

מחזיר את מזהה השבב של מודול המצלמה. השווה מול אחד מ-csi.OV2640, csi.OV5640, csi.OV7670, csi.OV7690, csi.OV7725, csi.OV9650, csi.MT9V022, csi.MT9V024, csi.MT9V032, csi.MT9V034, csi.MT9M114, csi.BOSON320, csi.BOSON640, csi.LEPTON, csi.HM01B0, csi.HM0360, csi.GC2145, csi.GENX320ES, csi.GENX320, csi.PAG7920, csi.PAG7936, csi.PAJ6100, csi.FROGEYE2020, או csi.SOFTCSI.

readable() bool#

מחזיר True אם יש תמונה מוכנה להחזרה על ידי CSI.snapshot כך שקריאה ל-snapshot לא תחסום.

pixformat(pixformat: int | None = None) int | None#

מגדיר את פורמט הפיקסל של מודול המצלמה לאחד מ-csi.GRAYSCALE, csi.RGB565, csi.BAYER, csi.YUV422, או csi.JPEG (רק ב-OV2640/OV5640).

מחזיר את ה-pixformat הנוכחי אם נקרא ללא ארגומנטים.

framesize(framesize: int | Tuple[int, int] | None = None) int | None#

מגדיר את גודל הפריים של מודול המצלמה לאחד מקבועי הגודל (לדוגמה csi.QVGA, csi.VGA, csi.HD, וכו« — ראה את מקטע הקבועים).

לחלופין, ניתן להעביר framesize מותאם אישית כ-tuple (w, h). כאשר CSI.snapshot נקרא ה-framesize המותאם אישית ייבדק מול כללי DMA. בדרך כלל framesizes צריכים להיות כפולה של 8 פיקסלים ו/או 16 בתים.

מחזיר את ה-framesize הנוכחי אם נקרא ללא ארגומנטים.

framerate(rate: int | None = None) int | None#

מגדיר את קצב הפריימים ב-Hz עבור מודול המצלמה.

מחזיר את ה-framerate הנוכחי אם נקרא ללא ארגומנטים.

הערה

CSI.framerate עובד על ידי השמטת פריימים שמתקבלים ממודול המצלמה כדי לשמור על קצב הפריימים בקצב המצוין או מתחתיו. כברירת מחדל המצלמה תרוץ בקצב הפריימים המקסימלי. אם מיושם עבור חיישן המצלמה המסוים CSI.framerate גם יפחית את קצב הפריימים של חיישן המצלמה באופן פנימי כדי לחסוך בחשמל ולשפר את איכות התמונה על ידי הגדלת חשיפת החיישן. CSI.framerate עלול להתנגש עם CSI.auto_exposure בחלק מהמצלמות.

window(roi: Tuple[int, int] | Tuple[int, int, int, int] | None = None) Tuple[int, int, int, int] | None#

מגדיר את רזולוציית המצלמה לתת-אזור של הרזולוציה הנוכחית. roi הוא tuple (x, y, w, h). ניתן גם להעביר (w, h) והחלון ימורכז.

מחזיר את ה-tuple (x, y, w, h) הנוכחי אם נקרא ללא ארגומנטים.

gainceiling(gainceiling: int) bool#

מגדיר את תקרת ההגבר (gainceiling) של תמונת המצלמה לאחד מ-2, 4, 8, 16, 32, 64, או 128.

מחזיר True בהצלחה ו-False בכישלון.

brightness(brightness: int) bool#

מגדיר את בהירות תמונת המצלמה.

מחזיר True בהצלחה ו-False בכישלון.

contrast(contrast: int) bool#

מגדיר את הניגודיות של תמונת המצלמה.

מחזיר True בהצלחה ו-False בכישלון.

saturation(saturation: int) bool#

מגדיר את הרוויה של תמונת המצלמה.

מחזיר True בהצלחה ו-False בכישלון.

quality(quality: int) bool#

מגדיר את איכות דחיסת ה-JPEG של תמונת המצלמה. 0 - 100.

מחזיר True בהצלחה ו-False בכישלון.

הערה

רק עבור מצלמות OV2640/OV5640.

colorbar(enable: bool) bool#

מפעיל מצב פסי צבע (True) או מכבה אותו (False). ברירת המחדל היא כבוי.

מחזיר True בהצלחה ו-False בכישלון.

auto_gain(enable: bool, gain_db: float | None = None, gain_db_ceiling: float | None = None) None#

enable מפעיל בקרת הגבר אוטומטית (True) או מכבה אותה (False). המצלמה מתחילה את פעולתה עם בקרת הגבר אוטומטית מופעלת.

אם enable הוא False ניתן להגדיר הגבר קבוע בדציבלים עם gain_db.

אם enable הוא True ניתן להגדיר את תקרת ההגבר המקסימלית בדציבלים עם gain_db_ceiling עבור אלגוריתם בקרת ההגבר האוטומטית.

הערה

עליך לכבות גם את איזון הלבן אם ברצונך לעקוב אחר צבעים.

gain_db() float#

מחזיר את ערך ההגבר הנוכחי של המצלמה בדציבלים.

auto_exposure(enable: bool, exposure_us: int = -1) None#

enable מפעיל בקרת חשיפה אוטומטית (True) או מכבה אותה (False). המצלמה מתחילה את פעולתה עם בקרת חשיפה אוטומטית מופעלת.

אם enable הוא False ניתן להגדיר זמן חשיפה קבוע במיקרושניות עם exposure_us.

הערה

אלגוריתמי החשיפה האוטומטית של המצלמה די שמרניים לגבי כמה הם מכווננים את ערך החשיפה ובדרך כלל יימנעו משינוי משמעותי של ערך החשיפה. במקום זאת, הם משנים את ערך ההגבר רבות כדי להתמודד עם תאורה משתנה.

exposure_us() int#

מחזיר את ערך החשיפה הנוכחי של המצלמה במיקרושניות.

auto_whitebal(enable: bool, rgb_gain_db: Tuple[float, float, float] | None = None) None#

enable מפעיל איזון לבן אוטומטי (True) או מכבה אותו (False). המצלמה מתחילה את פעולתה עם איזון לבן אוטומטי מופעל.

אם enable הוא False ניתן להגדיר הגבר קבוע בדציבלים עבור הערוצים האדום, הירוק והכחול בהתאמה עם rgb_gain_db.

הערה

עליך לכבות גם את בקרת ההגבר אם ברצונך לעקוב אחר צבעים.

rgb_gain_db() Tuple[float, float, float]#

מחזיר tuple (r, g, b) של ערכי ההגבר הנוכחיים של המצלמה לערוצים האדום, הירוק והכחול בדציבלים.

auto_blc(enable: bool, regs: List[int] | None = None) None#

מגדיר את כיול רמת השחור האוטומטי (BLC) במצלמה.

enable העבר True או False כדי להפעיל או לכבות את BLC. בדרך כלל תמיד תרצה שזה יהיה מופעל.

regs אם מנוטרל אזי ניתן להגדיר ידנית את ערכי אוגר ה-BLC מקריאה קודמת ל-CSI.blc_regs.

blc_regs() List[int]#

מחזיר את אוגרי ה-BLC של החיישן כרשימת מספרים שלמים. לשימוש עם CSI.auto_blc.

hmirror(enable: bool | None = None) bool | None#

מפעיל מצב שיקוף אופקי (True) או מכבה אותו (False). ברירת המחדל היא כבוי.

מחזיר את ההגדרה הנוכחית אם נקרא ללא ארגומנטים.

vflip(enable: bool | None = None) bool | None#

מפעיל מצב היפוך אנכי (True) או מכבה אותו (False). ברירת המחדל היא כבוי.

מחזיר את ההגדרה הנוכחית אם נקרא ללא ארגומנטים.

transpose(enable: bool | None = None) bool | None#

מפעיל מצב שחלוף (transpose) (True) או מכבה אותו (False). ברירת המחדל היא כבוי.

  • vflip=False, hmirror=False, transpose=False -> סיבוב 0 מעלות

  • vflip=True, hmirror=False, transpose=True -> סיבוב 90 מעלות

  • vflip=True, hmirror=True, transpose=False -> סיבוב 180 מעלות

  • vflip=False, hmirror=True, transpose=True -> סיבוב 270 מעלות

מחזיר את ההגדרה הנוכחית אם נקרא ללא ארגומנטים.

auto_rotation(enable: bool | None = None) bool | None#

מפעיל מצב סיבוב אוטומטי (True) או מכבה אותו (False). ברירת המחדל היא כבוי.

מחזיר את ההגדרה הנוכחית אם נקרא ללא ארגומנטים.

הערה

מתודה זו עובדת רק כאשר ל-OpenMV Cam מותקן imu והיא מופעלת באופן אוטומטי.

framebuffers(count: int | None = None) int | None#

מגדיר את מספר חוצצי הפריימים המשמשים לקבלת נתוני תמונה. כברירת מחדל OpenMV Cam ינסה להקצות את המספר המקסימלי של חוצצי פריימים שביכולתו. הקצאה מחדש מתרחשת בכל פעם ש-CSI.pixformat, CSI.framesize, או CSI.window נקראים.

count של 1 (חוצץ יחיד), 2 (חוצץ כפול), או 3 (חוצץ משולש) בוחר את מצב הלכידה המתאים. העבר 4 או יותר כדי להעביר את מנהל ההתקן למצב FIFO וידאו שבו count חוצצים נמצאים בתור — שימושי להקלטת וידאו לכרטיס SD. בעת השמטת פריים, כל חוצצי הפריימים מלבד הפעיל מנוקים כך ש-CSI.snapshot תמיד מחזיר פריים עדכני.

מחזיר את ה-count הנוכחי אם נקרא ללא ארגומנטים.

special_effect(effect: int) bool#

מגדיר את האפקט הדיגיטלי המיוחד (אחד מ-csi.NORMAL או csi.NEGATIVE).

מחזיר True בהצלחה ו-False בכישלון.

lens_correction(enable: bool, radi: int, coef: int) bool#

enable True כדי להפעיל, False כדי לנטרל. radi רדיוס שלם של פיקסלים לתיקון. coef עוצמת התיקון.

מחזיר True בהצלחה ו-False בכישלון.

vsync_callback(cb: Callable[[int], None] | None = None) Callable[[int], None] | None#

רושם פונקציית callback cb להרצה (בהקשר פסיקה) בכל פעם שמודול המצלמה מייצר פריים חדש (אך לפני שהפריים מתקבל).

cb מקבל ארגומנט אחד ומועבר לו המצב הנוכחי של פין ה-vsync לאחר השינוי.

מחזיר את פונקציית ה-callback הרשומה אם נקרא ללא ארגומנטים. העבר כל ערך שאינו ניתן לקריאה כפונקציה כדי לנקות את ה-callback.

frame_callback(cb: Callable[[], None] | None = None) Callable[[], None] | None#

רושם פונקציית callback cb להרצה (בהקשר פסיקה) בכל פעם שמודול המצלמה מייצר פריים חדש והפריים מוכן לקריאה באמצעות CSI.snapshot.

cb אינו מקבל ארגומנטים. השתמש בזה כדי לתזמן קריאת פריים מאוחר יותר עם micropython.schedule().

מחזיר את פונקציית ה-callback הרשומה אם נקרא ללא ארגומנטים. העבר כל ערך שאינו ניתן לקריאה כפונקציה כדי לנקות את ה-callback.

ioctl(request: int, *args) Any#

מבצע בקשה ספציפית לחיישן. request הוא אחד מקבועי IOCTL_*; שאר הארגומנטים המיקומיים וערך ההחזרה תלויים בבקשה. הבקשות הנתמכות מקובצות לפי משפחת חיישנים להלן.

כללי (כל חיישן):

ioctl(IOCTL_SET_READOUT_WINDOW, (x, y, w, h))

ioctl(IOCTL_SET_READOUT_WINDOW, (w, h))

מגדיר את חלון הקריאה של החיישן. חלון קטן יותר מעלה את קצב הפריימים על חשבון שדה הראייה.

ioctl(IOCTL_GET_READOUT_WINDOW)

מחזיר את חלון הקריאה הנוכחי כ-tuple (x, y, w, h).

ioctl(IOCTL_SET_TRIGGERED_MODE, enable)

מפעיל (True) או מנטרל (False) מצב מותנה (triggered) ב-MT9V034.

ioctl(IOCTL_GET_TRIGGERED_MODE)

מחזיר את מצב המצב המותנה הנוכחי כ-bool.

ioctl(IOCTL_SET_FOV_WIDE, enable)

כאשר True, מורה ל-framesize() למטב עבור שדה ראייה במקום עבור קצב פריימים.

ioctl(IOCTL_GET_FOV_WIDE)

מחזיר את מצב FOV-wide הנוכחי כ-bool.

ioctl(IOCTL_SET_NIGHT_MODE, enable)

מפעיל (True) או מנטרל (False) את ”מצב הלילה“ של החיישן לתאורה נמוכה. OV7725 ו-OV5640 בלבד.

ioctl(IOCTL_GET_NIGHT_MODE)

מחזיר את מצב הלילה הנוכחי כ-bool.

ioctl(IOCTL_GET_RGB_STATS)

מחזיר tuple בן 4 איברים של סטטיסטיקות ערוצי RGB גולמיות (r, gb, gr, b) שנקראו מהחיישן (בדרך כלל משמש לכוונון איזון לבן).

OV5640 FPC – מיקוד אוטומטי:

ioctl(IOCTL_TRIGGER_AUTO_FOCUS)

מתחיל סריקת מיקוד אוטומטי במודול OV5640 FPC.

ioctl(IOCTL_PAUSE_AUTO_FOCUS)

משהה סריקת מיקוד אוטומטי בתהליך.

ioctl(IOCTL_RESET_AUTO_FOCUS)

מאפס את מיקום המיקוד האוטומטי לברירת המחדל.

ioctl(IOCTL_WAIT_ON_AUTO_FOCUS)

ioctl(IOCTL_WAIT_ON_AUTO_FOCUS, timeout_ms)

חוסם עד שסריקת המיקוד האוטומטי הנוכחית מסתיימת. timeout_ms ברירת המחדל היא 5000 אם הושמט.

FLIR Lepton:

ioctl(IOCTL_LEPTON_GET_WIDTH)

מחזיר את רוחב תמונת ה-Lepton בפיקסלים.

ioctl(IOCTL_LEPTON_GET_HEIGHT)

מחזיר את גובה תמונת ה-Lepton בפיקסלים.

ioctl(IOCTL_LEPTON_GET_RADIOMETRY)

מחזיר את סוג ה-Lepton (רדיומטרי או לא) כ-int.

ioctl(IOCTL_LEPTON_GET_REFRESH)

מחזיר את קצב הרענון של ה-Lepton ב-Hz.

ioctl(IOCTL_LEPTON_GET_RESOLUTION)

מחזיר את רזולוציית ה-ADC של ה-Lepton בביטים.

ioctl(IOCTL_LEPTON_RUN_COMMAND, cmd)

מריץ פקודת FLIR Lepton SDK. cmd הוא מזהה הפקודה בן 16 הביטים שמוגדר על ידי ה-SDK.

ioctl(IOCTL_LEPTON_SET_ATTRIBUTE, attr_id, payload)

כותב מאפיין Lepton SDK. attr_id הוא מזהה המאפיין בן 16 הביטים; payload הוא bytes/bytearray שאורכו חייב להיות כפולה של 16 ביטים.

ioctl(IOCTL_LEPTON_GET_ATTRIBUTE, attr_id, words)

קורא מאפיין Lepton SDK. attr_id הוא מזהה המאפיין בן 16 הביטים; words הוא מספר המילים בנות 16 הביטים לקריאה. מחזיר bytearray.

ioctl(IOCTL_LEPTON_GET_FPA_TEMP)

מחזיר את טמפרטורת מערך מישור המוקד (focal-plane-array) של ה-Lepton במעלות צלזיוס.

ioctl(IOCTL_LEPTON_GET_AUX_TEMP)

מחזיר את הטמפרטורה העזר של ה-Lepton במעלות צלזיוס.

ioctl(IOCTL_LEPTON_SET_MODE, measurement_enabled)

ioctl(IOCTL_LEPTON_SET_MODE, measurement_enabled, high_temp_enabled)

מחליף את ה-Lepton בין AGC לפלט טמפרטורה ישיר. measurement_enabled=True מפעיל פלט טמפרטורה ישיר. הדגל האופציונלי high_temp_enabled בוחר את טווח הטמפרטורות הגבוהות.

ioctl(IOCTL_LEPTON_GET_MODE)

מחזיר tuple בן 2 איברים (measurement_enabled, high_temp_enabled).

ioctl(IOCTL_LEPTON_SET_RANGE, (min_celsius, max_celsius))

מגדיר את טווח הטמפרטורות הממופה ל-0..255 כאשר מצב המדידה מופעל.

ioctl(IOCTL_LEPTON_GET_RANGE)

מחזיר את טווח (min_celsius, max_celsius) הנוכחי.

Himax HM01B0 – זיהוי תנועה:

ioctl(IOCTL_HIMAX_MD_ENABLE, enable)

מפעיל (True) או מנטרל (False) את בלוק זיהוי התנועה שעל החיישן של ה-HM01B0.

ioctl(IOCTL_HIMAX_MD_WINDOW, (x, y, w, h))

ioctl(IOCTL_HIMAX_MD_WINDOW, (w, h))

מגדיר את חלון זיהוי התנועה ב-HM01B0.

ioctl(IOCTL_HIMAX_MD_THRESHOLD, threshold)

מגדיר את סף זיהוי התנועה (0255).

ioctl(IOCTL_HIMAX_MD_CLEAR)

מנקה את תפס פסיקת זיהוי התנועה.

ioctl(IOCTL_HIMAX_OSC_ENABLE, enable)

מפעיל (True) או מנטרל (False) את המתנד הפנימי של ה-HM01B0.

Prophesee GENX320 – חיישן אירועים:

ioctl(IOCTL_GENX320_SET_BIASES, preset)

מחיל ערכה מוגדרת מראש של הטיות (bias). preset הוא אחד מקבועי GENX320_BIASES_*.

ioctl(IOCTL_GENX320_SET_BIAS, bias, value)

מגדיר הטיה (bias) יחידה. bias הוא אחד מקבועי GENX320_BIAS_*; value הוא ההגדרה השלמה.

ioctl(IOCTL_GENX320_SET_AFK, enable)

ioctl(IOCTL_GENX320_SET_AFK, enable, freq_low_hz, freq_high_hz)

מגדיר את מסנן נוגד-ההבהוב (anti-flicker). enable הוא bool; ארגומנטי התדר האופציונליים מגדירים את פס המעבר של המסנן.

ioctl(IOCTL_GENX320_SET_STC, mode)

ioctl(IOCTL_GENX320_SET_STC, mode, arg1[, arg2])

מגדיר את מצב מסנן הניגודיות המרחבי-זמני (spatio-temporal contrast). mode הוא אחד מקבועי GENX320_STC_*; עד שני ארגומנטים נוספים תלויים במצב.

ioctl(IOCTL_GENX320_SET_MODE, mode)

ioctl(IOCTL_GENX320_SET_MODE, mode, evt_res)

מחליף את החיישן בין מצבי פריים ואירוע. mode הוא אחד מקבועי GENX320_MODE_*. עבור מצב אירוע, evt_res הוא אורך ציר השורות של חוצץ האירועים המועבר ל-IOCTL_GENX320_READ_EVENTS.

ioctl(IOCTL_GENX320_READ_EVENTS, buf)

קורא אירועים אל buf, מערך ndarray מסוג uint16 בצורה (EVT_res, 6) שבו EVT_res הוא חזקה של שתיים בין 1024 ל-65536. העמודות הן:

  • [0] – סוג האירוע (PIX_OFF_EVENT / PIX_ON_EVENT / טריגר).

  • [1] – שניות.

  • [2] – מילישניות.

  • [3] – מיקרושניות.

  • [4] – קואורדינטת x.

  • [5] – קואורדינטת y.

מחזיר את מספר האירועים שנכתבו.

ioctl(IOCTL_GENX320_READ_EVENTS_RAW)

מחזיר image.Image המכילה את פריים האירועים הגולמי מה-GENX320.

ioctl(IOCTL_GENX320_CALIBRATE, iterations, sigma)

מכבה פיקסלים שהרעש שלהם גדול מ-sigma סטיות תקן מההתפלגות הנורמלית. iterations הוא מספר שלם של מעברי כיול. מחזיר את מספר הפיקסלים שנוטרלו.

color_palette(palette: int | None = None) int | None#

מגדיר את פלטת הצבעים לשימוש עבור דברים כמו המרת FLIR Lepton מגווני אפור ל-RGB565 או הדמיית אירועי GENX320. אחד מ-image.PALETTE_RAINBOW, image.PALETTE_IRONBOW, ו-(כאשר נתמך) image.PALETTE_DEPTH, image.PALETTE_EVT_DARK, או image.PALETTE_EVT_LIGHT.

מחזיר את ההגדרה הנוכחית אם נקרא ללא ארגומנטים.

__write_reg(address: int, value: int) None#

כותב את value לאוגר המצלמה בכתובת address.

הערה

ראה את גיליון הנתונים של המצלמה למידע על האוגרים.

__read_reg(address: int) int#

קורא את אוגר המצלמה בכתובת address.

הערה

ראה את גיליון הנתונים של המצלמה למידע על האוגרים.

פונקציות#

csi.devices() List[int]#

מחזיר רשימה של מזהי שבב החיישן שזוהו.

קבועים#

csi.BINARY: int#

פורמט פיקסל BINARY (מפת סיביות). כל פיקסל הוא 1-ביט. שימושי לאחסון מסכה; ניתן להשתמש בו עם image.Image().

csi.GRAYSCALE: int#

פורמט פיקסל GRAYSCALE (Y מתוך YUV422). כל פיקסל הוא 8-ביט.

csi.RGB565: int#

פורמט פיקסל RGB565. כל פיקסל הוא 16-ביט (5-ביט אדום, 6-ביט ירוק, 5-ביט כחול).

csi.BAYER: int#

פורמט פיקסל RAW BAYER.

csi.YUV422: int#

פורמט פיקסל YUV422. כל פיקסל מאוחסן כערך Y בגווני אפור בן 8-ביט ואחריו ערכי צבע U/V לסירוגין בני 8-ביט המשותפים בין שני ערכי Y (Y1, U, Y2, V, …). רק חלק ממתודות עיבוד התמונה עובדות עם YUV422.

csi.JPEG: int#

מצב JPEG. מודול המצלמה מוציא תמונות JPEG דחוסות. השתמש ב-CSI.quality כדי לשלוט באיכות ה-JPEG. עובד רק עבור מצלמות OV2640/OV5640.

csi.OV2640: int#

CSI.cid מחזיר זאת עבור מצלמת OV2640.

csi.OV5640: int#

CSI.cid מחזיר זאת עבור מצלמת OV5640.

csi.OV7670: int#

CSI.cid מחזיר זאת עבור מצלמת OV7670.

csi.OV7690: int#

CSI.cid מחזיר זאת עבור מצלמת OV7690.

csi.OV7725: int#

CSI.cid מחזיר זאת עבור מצלמת OV7725.

csi.OV9650: int#

CSI.cid מחזיר זאת עבור מצלמת OV9650.

csi.MT9V022: int#

CSI.cid מחזיר זאת עבור מצלמת MT9V022.

csi.MT9V024: int#

CSI.cid מחזיר זאת עבור מצלמת MT9V024.

csi.MT9V032: int#

CSI.cid מחזיר זאת עבור מצלמת MT9V032.

csi.MT9V034: int#

CSI.cid מחזיר זאת עבור מצלמת MT9V034.

csi.MT9M114: int#

CSI.cid מחזיר זאת עבור מצלמת MT9M114.

csi.BOSON320: int#

CSI.cid מחזיר זאת עבור מצלמת BOSON 320x256.

csi.BOSON640: int#

CSI.cid מחזיר זאת עבור מצלמת BOSON 640x512.

csi.LEPTON: int#

CSI.cid מחזיר זאת עבור מצלמות LEPTON1/2/3.

csi.HM01B0: int#

CSI.cid מחזיר זאת עבור מצלמת HM01B0.

csi.HM0360: int#

CSI.cid מחזיר זאת עבור מצלמת HM0360.

csi.GC2145: int#

CSI.cid מחזיר זאת עבור מצלמת GC2145.

csi.GENX320ES: int#

CSI.cid מחזיר זאת עבור מצלמת GENX320 (דגימה הנדסית).

csi.GENX320: int#

CSI.cid מחזיר זאת עבור מצלמת GENX320.

csi.PAG7920: int#

CSI.cid מחזיר זאת עבור מצלמת PAG7920.

csi.PAG7936: int#

CSI.cid מחזיר זאת עבור מצלמת PAG7936.

csi.PAJ6100: int#

CSI.cid מחזיר זאת עבור מצלמת PAJ6100.

csi.FROGEYE2020: int#

CSI.cid מחזיר זאת עבור מצלמת FROGEYE2020.

csi.SOFTCSI: int#

CSI.cid מחזיר זאת עבור מצלמת ה-CSI התוכנתית.

csi.NORMAL: int#

מצב Normal עבור CSI.special_effect.

csi.NEGATIVE: int#

מצב Negative עבור CSI.special_effect.

csi.QCIF: int#

רזולוציה 176x144 עבור חיישן המצלמה.

csi.CIF: int#

רזולוציה 352x288 עבור חיישן המצלמה.

csi.QSIF: int#

רזולוציה 176x120 עבור חיישן המצלמה.

csi.SIF: int#

רזולוציה 352x240 עבור חיישן המצלמה.

csi.QQQVGA: int#

רזולוציה 80x60 עבור חיישן המצלמה.

csi.QQVGA: int#

רזולוציה 160x120 עבור חיישן המצלמה.

csi.QVGA: int#

רזולוציה 320x240 עבור חיישן המצלמה.

csi.VGA: int#

רזולוציה 640x480 עבור חיישן המצלמה.

csi.HQVGA: int#

רזולוציה 240x160 עבור חיישן המצלמה.

csi.HVGA: int#

רזולוציה 480x320 עבור חיישן המצלמה.

csi.WVGA: int#

רזולוציה 720x480 עבור חיישן המצלמה MT9V034.

csi.WVGA2: int#

רזולוציה 752x480 עבור חיישן המצלמה MT9V034.

csi.SVGA: int#

רזולוציה 800x600 עבור חיישן המצלמה.

csi.XGA: int#

רזולוציה 1024x768 עבור חיישן המצלמה.

csi.WXGA: int#

רזולוציה 1280x768 עבור חיישן המצלמה MT9M114.

csi.SXGA: int#

רזולוציה 1280x1024 עבור חיישן המצלמה. עובד רק עבור מצלמות OV2640/OV5640.

csi.SXGAM: int#

רזולוציה 1280x960 עבור חיישן המצלמה MT9M114.

csi.UXGA: int#

רזולוציה 1600x1200 עבור חיישן המצלמה. עובד רק עבור מצלמות OV2640/OV5640.

csi.HD: int#

רזולוציה 1280x720 עבור חיישן המצלמה.

csi.FHD: int#

רזולוציה 1920x1080 עבור חיישן המצלמה. עובד רק עבור מצלמת OV5640.

csi.QHD: int#

רזולוציה 2560x1440 עבור חיישן המצלמה. עובד רק עבור מצלמת OV5640.

csi.QXGA: int#

רזולוציה 2048x1536 עבור חיישן המצלמה. עובד רק עבור מצלמת OV5640.

csi.WQXGA: int#

רזולוציה 2560x1600 עבור חיישן המצלמה. עובד רק עבור מצלמת OV5640.

csi.WQXGA2: int#

רזולוציה 2592x1944 עבור חיישן המצלמה. עובד רק עבור מצלמת OV5640.

csi.IOCTL_SET_READOUT_WINDOW: int#

מגדיר את חלון הקריאה. ראה CSI.ioctl.

csi.IOCTL_GET_READOUT_WINDOW: int#

מקבל את חלון הקריאה. ראה CSI.ioctl.

csi.IOCTL_SET_TRIGGERED_MODE: int#

מגדיר מצב מותנה (triggered) עבור ה-MT9V034. ראה CSI.ioctl.

csi.IOCTL_GET_TRIGGERED_MODE: int#

מקבל את מצב המצב המותנה עבור ה-MT9V034. ראה CSI.ioctl.

csi.IOCTL_SET_FOV_WIDE: int#

מאפשר ל-CSI.framesize למטב עבור שדה ראייה על פני FPS. ראה CSI.ioctl.

csi.IOCTL_GET_FOV_WIDE: int#

מחזיר האם CSI.framesize ממטב עבור שדה ראייה על פני FPS. ראה CSI.ioctl.

csi.IOCTL_TRIGGER_AUTO_FOCUS: int#

מפעיל מיקוד אוטומטי במודול המצלמה OV5640 FPC. ראה CSI.ioctl.

csi.IOCTL_PAUSE_AUTO_FOCUS: int#

משהה מיקוד אוטומטי (בזמן ריצה) עבור מודול המצלמה OV5640 FPC. ראה CSI.ioctl.

csi.IOCTL_RESET_AUTO_FOCUS: int#

מאפס מיקוד אוטומטי לברירת המחדל עבור מודול המצלמה OV5640 FPC. ראה CSI.ioctl.

csi.IOCTL_WAIT_ON_AUTO_FOCUS: int#

ממתין לסיום המיקוד האוטומטי במודול המצלמה OV5640 FPC. ראה CSI.ioctl.

csi.IOCTL_SET_NIGHT_MODE: int#

מפעיל או מכבה מצב לילה. מפחית את קצב הפריימים כדי להגדיל את החשיפה באופן דינמי. ראה CSI.ioctl.

csi.IOCTL_GET_NIGHT_MODE: int#

מחזיר האם מצב לילה מופעל. ראה CSI.ioctl.

csi.IOCTL_LEPTON_GET_WIDTH: int#

מחזיר את רוחב רזולוציית תמונת ה-FLIR Lepton בפיקסלים. ראה CSI.ioctl.

csi.IOCTL_LEPTON_GET_HEIGHT: int#

מחזיר את גובה רזולוציית תמונת ה-FLIR Lepton בפיקסלים. ראה CSI.ioctl.

csi.IOCTL_LEPTON_GET_RADIOMETRY: int#

מחזיר את סוג ה-FLIR Lepton (רדיומטרי או לא). ראה CSI.ioctl.

csi.IOCTL_LEPTON_GET_REFRESH: int#

מחזיר את קצב הרענון של ה-FLIR Lepton ב-Hz. ראה CSI.ioctl.

csi.IOCTL_LEPTON_GET_RESOLUTION: int#

מחזיר את רזולוציית ה-ADC של ה-FLIR Lepton בביטים. ראה CSI.ioctl.

csi.IOCTL_LEPTON_RUN_COMMAND: int#

מבצע פקודה בת 16-ביט מ-FLIR Lepton SDK. ראה CSI.ioctl.

csi.IOCTL_LEPTON_SET_ATTRIBUTE: int#

מגדיר מאפיין FLIR Lepton מ-FLIR Lepton SDK. ראה CSI.ioctl.

csi.IOCTL_LEPTON_GET_ATTRIBUTE: int#

מקבל מאפיין FLIR Lepton מ-FLIR Lepton SDK. ראה CSI.ioctl.

csi.IOCTL_LEPTON_GET_FPA_TEMP: int#

מקבל את טמפרטורת ה-FPA של ה-FLIR Lepton בצלזיוס. ראה CSI.ioctl.

csi.IOCTL_LEPTON_GET_AUX_TEMP: int#

מקבל את טמפרטורת ה-AUX של ה-FLIR Lepton בצלזיוס. ראה CSI.ioctl.

csi.IOCTL_LEPTON_SET_MODE: int#

מגדיר את מנהל ההתקן של ה-FLIR Lepton למצב שבו כל פיקסל הוא ערך טמפרטורה. ראה CSI.ioctl.

csi.IOCTL_LEPTON_GET_MODE: int#

מחזיר האם מצב המדידה מופעל עבור חיישן ה-FLIR Lepton. ראה CSI.ioctl.

csi.IOCTL_LEPTON_SET_RANGE: int#

מגדיר את טווח הטמפרטורות הממופה לערכי פיקסל במצב מדידה. ראה CSI.ioctl.

csi.IOCTL_LEPTON_GET_RANGE: int#

מחזיר את טווח הטמפרטורות המשמש למצב מדידה. ראה CSI.ioctl.

csi.IOCTL_HIMAX_MD_ENABLE: int#

שולט בפסיקת זיהוי התנועה ב-HM01B0. ראה CSI.ioctl.

csi.IOCTL_HIMAX_MD_WINDOW: int#

מגדיר את חלון זיהוי התנועה ב-HM01B0. ראה CSI.ioctl.

csi.IOCTL_HIMAX_MD_THRESHOLD: int#

מגדיר את סף זיהוי התנועה ב-HM01B0. ראה CSI.ioctl.

csi.IOCTL_HIMAX_MD_CLEAR: int#

מנקה את פסיקת זיהוי התנועה ב-HM01B0. ראה CSI.ioctl.

csi.IOCTL_HIMAX_OSC_ENABLE: int#

שולט במתנד הפנימי ב-HM01B0. ראה CSI.ioctl.

csi.IOCTL_GET_RGB_STATS: int#

מחזיר את סטטיסטיקות ה-RGB מחיישן המצלמה. ראה CSI.ioctl.

csi.IOCTL_GENX320_SET_BIASES: int#

מגדיר את הטיות (bias) חיישן ה-GENX320 לאחת מהערכות המוגדרות מראש GENX320_BIASES_*. ראה CSI.ioctl. לאחר CSI.reset מנהל ההתקן מחיל את csi.GENX320_BIASES_LOW_NOISE, ולא את csi.GENX320_BIASES_DEFAULT — השתמש ב-ioctl זה כדי לעבור לערכה מוגדרת מראש אחרת כאשר היישום זקוק ליותר רגישות או רוחב פס.

csi.GENX320_BIASES_DEFAULT: int#

ברירות מחדל של גיליון הנתונים של GenX320 — רגישות, רעש ורוחב פס מאוזנים לסצנות כלליות.

csi.GENX320_BIASES_LOW_LIGHT: int#

מכוון לתנאי תאורה נמוכה — שני ספי הניגודיות מורפים לרגישות גבוהה יותר, FO מורד, HPF מנוטרל כך ששינויי בהירות איטיים עדיין נרשמים.

csi.GENX320_BIASES_ACTIVE_MARKER: int#

מכוון למעקב אחר נורות LED מהבהבות בעלות ניגודיות גבוהה (סמנים פעילים) — ספי הניגודיות מועלים כך שרק מעברים חדים מפעילים אירוע, FO ו-HPF מוגברים מאוד למקסום רוחב הפס ודחיית סחיפה איטית של תאורת הסביבה, REFR=0 כך שכל קצה הבהוב נלכד.

csi.GENX320_BIASES_LOW_NOISE: int#

ברירת המחדל של מנהל ההתקן — רגישות נמוכה יותר מ-DEFAULT (ספי ניגודיות מועלים) ו-FO נמוך יותר לפעילות רעש רקע פחותה. הטוב ביותר לסצנות סטטיות או איטיות שבהן אירועי שווא ישתלטו.

csi.GENX320_BIASES_HIGH_SPEED: int#

מכוון לסצנות תנועה מהירה — FO גבוה יותר לרוחב פס פיקסל רחב יותר, HPF גבוה יותר לדחיית שינויים איטיים, REFR גבוה יותר לזמן מת ארוך יותר לאחר כל אירוע כך שהקריאה לא תרווה.

csi.IOCTL_GENX320_SET_BIAS: int#

מגדיר הטיה (bias) יחידה של חיישן ה-GENX320 לערך DAC. העבר קבוע GENX320_BIAS_* (csi.GENX320_BIAS_DIFF_OFF, csi.GENX320_BIAS_DIFF_ON, csi.GENX320_BIAS_FO, csi.GENX320_BIAS_HPF, או csi.GENX320_BIAS_REFR) וערך DAC שלם. כל הטיה היא עצמאית — קרא ל-ioctl זה שוב ושוב כדי לכוונן רק את ההטיות שאתה צריך לאחר החלת ערכה מוגדרת מראש. ראה CSI.ioctl.

csi.GENX320_BIAS_DIFF_OFF: int#

סף ניגודיות של המשווה השלילי — שולט בכמה פיקסל צריך להחשיך לפני ש-csi.PIX_OFF_EVENT נורה. ערך נמוך יותר = רגיש יותר (יותר אירועים).

csi.GENX320_BIAS_DIFF_ON: int#

סף ניגודיות של המשווה החיובי — שולט בכמה פיקסל צריך להבהיר לפני ש-csi.PIX_ON_EVENT נורה. ערך נמוך יותר = רגיש יותר (יותר אירועים).

csi.GENX320_BIAS_FO: int#

תדר חיתוך של מסנן מעביר-נמוכים של הפיקסל — מאזן בין רוחב פס פיקסל (מהירות/השהיה) לבין פעילות רעש רקע. ערך גבוה יותר = תגובת פיקסל מהירה יותר, יותר רעש.

csi.GENX320_BIAS_HPF: int#

תדר חיתוך של מסנן מעביר-גבוהים של הפיקסל — דוחה שינויי בהירות איטיים. ערך גבוה יותר = שינויים איטיים יותר מסוננים החוצה (רק מעברים מהירים נרשמים).

csi.GENX320_BIAS_REFR: int#

תקופת השבירה (refractory) של הפיקסל — זמן מת לאחר שפיקסל פולט אירוע שבמהלכו הוא אינו יכול לירות שוב. ערך גבוה יותר = זמן מת ארוך יותר, פחות אירועים מפיקסל עמוס.

csi.IOCTL_GENX320_SET_AFK: int#

מגדיר את מסנן נוגד-ההבהוב (AFK) של ה-GENX320, אשר דוחה אירועים מפיקסלים המתחלפים בפס תדר מחזורי (תאורה פלואורסצנטית, צגים מונעי-LED, וכו«). העבר enable (1 כדי להפעיל, 0 כדי לנטרל) וכאשר מפעילים, את קצות הפס בהרץ: (enable, freq_low_hz, freq_high_hz). ראה CSI.ioctl.

csi.IOCTL_GENX320_SET_STC: int#

מגדיר את מצב מסנן הניגודיות המרחבי-זמני (STC) של ה-GENX320. העבר קבוע GENX320_STC_* (csi.GENX320_STC_DISABLE, csi.GENX320_STC_ONLY, csi.GENX320_STC_TRAIL_ONLY, csi.GENX320_STC_TRAIL) ואחריו את הסף(ים) שהמצב דורש (במילישניות). ראה CSI.ioctl.

csi.GENX320_STC_DISABLE: int#

מנטרל את מסנן ה-STC/trail של ה-GENX320 — כל אירוע עובר דרכו.

csi.GENX320_STC_ONLY: int#

שומר את האירוע השני של מקבץ; משמיט את האירוע הראשון וכל אירוע מאוחר יותר. מקבל פרמטר אחד, stc_threshold במילישניות — אירועים בתוך אותו חלון מאירוע קודם באותו פיקסל נחשבים חלק מאותו מקבץ.

csi.GENX320_STC_TRAIL_ONLY: int#

שומר את האירוע הראשון של מקבץ; משמיט אירועים עוקבים על אותו פיקסל עד שחלף trail_threshold. מקבל פרמטר אחד, trail_threshold במילישניות.

csi.GENX320_STC_TRAIL: int#

שומר את האירוע הראשון של מקבץ בתוספת קצוות עוקבים — משלב את csi.GENX320_STC_ONLY ואת csi.GENX320_STC_TRAIL_ONLY. מקבל שני פרמטרים, stc_threshold ו-trail_threshold (שניהם ms); החיישן דורש ששניהם יישארו בערך ביחס של 13:1.

csi.IOCTL_GENX320_SET_MODE: int#

מגדיר את מצב הפעולה של ה-GENX320. העבר csi.GENX320_MODE_HISTO עבור היסטוגרמת האירועים שעל השבב (המצלמה מתנהגת כמו מצלמת גווני אפור רגילה בקצב הפריימים המוגדר) או csi.GENX320_MODE_EVENT ואחריו את אורך ציר השורות של ndarray האירועים (חזקה של שתיים בין 1024 ל-65536) עבור הזרמת אירועים גולמית. ראה CSI.ioctl.

csi.GENX320_MODE_HISTO: int#

מצב היסטוגרמה — אירועים נצברים על השבב לתאי ערך לכל פיקסל ומדווחים כפריים בגווני אפור בגודל 320x320 בקצב המוגדר (~20-350 FPS). המצלמה נראית כמו מצלמה רגילה, כך שכל שגרות עיבוד התמונה הסטנדרטיות עובדות ישירות.

csi.GENX320_MODE_EVENT: int#

מצב אירוע — עוקף את ההיסטוגרמה שעל השבב ומזרים אירועים גולמיים לתוך ndarray של numpy עם חותמות זמן במיקרושניות, עבור יישומים הזקוקים לפירוט זמני מלא ולא לפריים מחולק-תאים מראש.

csi.IOCTL_GENX320_READ_EVENTS: int#

קורא אירועים גולמיים לתוך ndarray מסוג uint16 בצורה (EVT_res, 6) (כאשר EVT_res תואם לגודל החוצץ שהועבר ל-csi.IOCTL_GENX320_SET_MODE). העמודות הן [0] סוג אירוע (csi.PIX_OFF_EVENT, csi.PIX_ON_EVENT, csi.EXT_TRIGGER_RISING/FALLING, csi.RST_TRIGGER_RISING/FALLING), [1] חותמת זמן בשניות, [2] מילישניות, [3] מיקרושניות, [4] קואורדינטת X (0-319), [5] קואורדינטת Y (0-319). מחזיר את מספר האירועים שנכתבו לחוצץ, ומשאיר שורות ישנות יותר מעבר לספירה זו ללא שינוי. ראה CSI.ioctl.

csi.IOCTL_GENX320_CALIBRATE: int#

מנטרל אוטומטית פיקסלים חמים — פיקסלים שיורים באופן מזויף אפילו בסצנה סטטית. מנהל ההתקן בונה ספירת פגיעות לכל פיקסל בגודל 320x320, מחשב את הממוצע וסטיית התקן, ומנטרל כל פיקסל שספירתו עולה על mean + sigma * stddev. העבר תקציב ספירת אירועים (אירועים לסכימה לפני חישוב הסטטיסטיקה — גבוה יותר = אומדן אמין יותר, איטי יותר; ~10000 הוא ברירת מחדל טובה) וערך sigma מסוג float (נמוך יותר = אגרסיבי יותר, ~0.5 ברירת מחדל). מחזיר את מספר הפיקסלים שנוטרלו. כוון תחילה את המצלמה לסצנה סטטית כך שאירועים מונעי-תנועה לא ייספרו כנגד פיקסלים שלמעשה תקינים. ראה CSI.ioctl.

csi.IOCTL_GENX320_READ_EVENTS_RAW: int#

מחזיר image.Image של פריים אירועים גולמי מה-GENX320, כשהאירועים עדיין בקידוד הארוז המקורי של השבב — שימושי אם ברצונך להעביר את הזרם הגולמי ל-PC לפענוח לא-מקוון במקום לעבד אותו במצלמה. ראה CSI.ioctl.

csi.PIX_OFF_EVENT: int#

סוג אירוע GENX320 (עמודה [0]) — פיקסל זיהה ירידה בבהירות (סף הניגודיות השלילי נחצה). עמודות [4]/[5] נושאות את ה-X/Y של הפיקסל.

csi.PIX_ON_EVENT: int#

סוג אירוע GENX320 (עמודה [0]) — פיקסל זיהה עלייה בבהירות (סף הניגודיות החיובי נחצה). עמודות [4]/[5] נושאות את ה-X/Y של הפיקסל.

csi.RST_TRIGGER_RISING: int#

סוג אירוע GENX320 (עמודה [0]) — טריגר איפוס-פיקסל, קצה עולה. X/Y אינם בשימוש. אינו נוצר על ידי הקושחה בשלב זה.

csi.RST_TRIGGER_FALLING: int#

סוג אירוע GENX320 (עמודה [0]) — טריגר איפוס-פיקסל, קצה יורד. X/Y אינם בשימוש. אינו נוצר על ידי הקושחה בשלב זה.

csi.EXT_TRIGGER_RISING: int#

סוג אירוע GENX320 (עמודה [0]) — פין הטריגר החיצוני של החיישן ראה קצה עולה. כניסת הטריגר החיצוני של ה-GENX320 מחווטת לקו סנכרון הפריימים של המצלמה, המנותב גם ל-P10 במעבד ולמחבר הפינים. X/Y אינם בשימוש.

csi.EXT_TRIGGER_FALLING: int#

סוג אירוע GENX320 (עמודה [0]) — פין הטריגר החיצוני של החיישן ראה קצה יורד. כניסת הטריגר החיצוני של ה-GENX320 מחווטת לקו סנכרון הפריימים של המצלמה, המנותב גם ל-P10 במעבד ולמחבר הפינים. X/Y אינם בשימוש.