v1.0.0-beta¶
v1.0.0-beta היא הגרסה הראשונה (בטא) של קושחת OpenMV — הבנייה הציבורית הראשונה של ה-OpenMV Cam. היא מבססת את התשתית שעליה נבנה כל מה שבא מאז: סביבת ריצה לסקריפטים של MicroPython על ה-OpenMV Cam מבוסס STM32F4, API של מצלמה sensor, ספריית ראייה ממוחשבת image, ו-OpenMV IDE לפיתוח חי. כיוון שזו הגרסה הראשונה, אין ממה להגר — ערך זה מסכם את מה שהקושחה הראשונה כללה.
עיקרים¶
MicroPython על ה-OpenMV Cam — הרצת סקריפטים של Python על המצלמה דרך USB עם REPL אינטראקטיבי וממשק ניפוי שגיאות ב-IDE.
צילום מצלמה — מודול ה-
sensor: הגדרת פורמט פיקסל / רזולוציה / קצב פריימים ולכידת פריימים באמצעותsnapshot().ראייה ממוחשבת — ספריית ה-
image: זיהוי כתמי צבע (blob), ציור, מסננים, התאמת תבניות, זיהוי פנים בשיטת Haar-cascade, ונקודות מפתח.OpenMV IDE — סביבת פיתוח שולחנית עם מציג חוצץ פריימים (frame buffer) חי, עורך קוד ועדכון קושחה מתוך ה-IDE.
חומרה — ה-OpenMV Cam המקורי (STM32F4) עם מצלמות OmniVision OV9650 / OV2640, תמיכה בכרטיס SD ובמגן WiFi.
תכונות חדשות¶
סקריפטים ומודולים:
סביבת ריצה של MicroPython כבסיס הקושחה, עם הרצת סקריפטים על המצלמה דרך ממשק ניפוי שגיאות USB ו-REPL אינטראקטיבי.
מודול
sensor—set_pixformat()/set_framesize()/set_framerate(), בקרות תקרת הגבר (gain) / בהירות / ניגודיות / הגבר (gain),reset(),snapshot(), ושיקוף אופקי / היפוך אנכי — וגם קבועי חיישן ורזולוציה.מודול ראייה ממוחשבת
image(imlib) החושף אובייקטי תמונה (עם פרוטוקול ה-buffer של Python) ואת משטח עיבוד התמונה שמתחת.מודול
time/clockלמדידת זמן ו-FPS.מודולי התקנים היקפיים מוקדמים —
led(RGB LED),spi,gpio(קלט/פלט פינים עם רישום פסיקה חיצונית),uart,rngחומרתי, טיימר systick, ו-file/selectלמערכת הקבצים.תקשורת רשת באמצעות
socket/wlan(CC3000 WiFi), מנהל התקן תצוגהlcd, מודול חיישן תרמיmlx90620, והקלטת וידאו AVI/MJPEG.
עיבוד תמונה:
פריימים של המצלמה נלכדים לתוך חוצץ פריימים (frame buffer) המוקצה באופן דינמי.
זיהוי כתמי צבע (blob) (flood-fill) וקביעת סף במרחבי הצבע LAB/XYZ (עם טבלאות המרה RGB↔LAB).
פרימיטיבי ציור (קו, מחרוזת/גופן, עיגול), מסננים (erode / dilate / median / invert / binary / threshold), שינוי גודל תמונה (bilinear), חילוץ תת-תמונה, blit, ומיזוג אלפא.
התאמת תבניות (עם שמירה/טעינה של תבניות), זיהוי פנים/עצמים בשיטת Viola-Jones Haar-cascade (cascades הניתנים לטעינה + ממיר cascade של OpenCV), cascade מסוג LBP ומזהה עיניים, זיהוי נקודות מפתח והתאמת מתארים (descriptor) בשיטות FAST / SURF / FREAK, תמונות אינטגרליות, וזיהוי תנועה.
קידוד JPEG (עם בקרת איכות), שמירת תמונות PPM / PGM / PNG / raw, וקידוד וידאו AVI/MJPEG.
IDE וכלים:
יישום שולחני OpenMV IDE — מציג חוצץ פריימים (frame buffer) חי עם FPS, עורך קוד (פתיחה / חדש / שמירה / שמירה בשם, קבצים אחרונים, תפריט דוגמאות מובנה), חיבור / איפוס / חיבור אוטומטי, וטעינה/שמירה של תצורה.
עדכון קושחה מתוך ה-IDE דרך DFU, כלי
pydfuב-Python טהור, ופקודת USB לכפיית מעבר ל-bootloader; ספריית/פרוטוקול המארחopenmv.py; מציג חוצץ פריימים עצמאי וכלי cascade; וכללי udev ל-Linux.
שינויים ושיפורים אחרים¶
סקריפטים מובנים לדוגמה: זיהוי כתמים (blob), זיהוי / מעקב פנים, SURF / נקודות מפתח, התאמת תבניות, LCD, מציג חוצץ פריימים, blit, סטרימר MJPEG, הקלטת AVI, שרת echo, FPS, והדגמות כתיבת JPEG / תמונה.
תמיכה בחומרה ובלוחות¶
OpenMV Cam — STM32F4xx (STM32F407 / F429) על פני מהדורות החומרה המוקדמות, עם CMSIS + Cube HAL של התקנים היקפיים של STM32 ו-CMSIS-DSP.
מצלמות — OmniVision OV9650 ו-OV2640 (SCCB/I2C, בקרת מייצב מתח) באמצעות HAL של חיישן, וגם חיישן IR תרמי MLX90620; רזולוציות מ-QQCIF/QCIF ועד SVGA/UXGA ב-30 FPS לכל היותר.
אחסון / קישוריות — כרטיס SD (SPI ו-SDIO) עם FatFS, מערכת קבצים פנימית בזיכרון פלאש (flash), SDRAM (חוצץ פריימים ב-SDRAM), USB OTG FS (ניפוי שגיאות + DFU), CC3000 WiFi (מגני WiFi / BLE), נורית IR LED, ו-I2C תוכנתי/חומרתי ו-SPI מונע DMA.
שינויי API שוברי תאימות¶
אין. v1.0.0-beta היא הגרסה הראשונה (בטא) של קושחת OpenMV — אין גרסה קודמת שאיתה ניתן לשבור תאימות. הגרסאות הבאות מתעדות את שינוייהן שוברי התאימות מול קודמתן; ראה את שאר יומן השינויים.