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 אינטראקטיבי.

  • מודול sensorset_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 — אין גרסה קודמת שאיתה ניתן לשבור תאימות. הגרסאות הבאות מתעדות את שינוייהן שוברי התאימות מול קודמתן; ראה את שאר יומן השינויים.