v3.6.0¶
גרסה v3.6.0 מביאה תמיכה מלאה במצלמת OV5640 5 MP עם גדלי פריים חדשים ברזולוציה גבוהה (HD / FHD / QHD / QXGA / WQXGA), מעדכנת את הליבה ל-MicroPython 1.12, מבצעת אופטימיזציה משמעותית למקודד ה-JPEG התוכנתי ולזיהוי AprilTag / קווים, מוסיפה UVC (וידאו USB) ב-OpenMV Cam H7 Plus, ותומכת ב-flash מסוג QSPI בגודל עד 32 MB. ההתנהגות של MicroPython ו-get_histogram() השתנו — קראו על השינויים השוברים להלן.
עיקרים¶
OV5640 5 MP — מנהל התקן מצלמה מלא עם גדלי פריים חדשים HD / FHD / QHD / QXGA / WQXGA / WQXGA2.
MicroPython 1.12 — הליבה המצורפת עודכנה.
צינור מהיר יותר — אופטימיזציה משמעותית לקידוד JPEG תוכנתי, זיהוי AprilTag, זיהוי קווים LSD,
histeq(), ופענוח QR-code.UVC ב-H7 Plus — ה-OpenMV Cam H7 Plus יכול לשמש כהתקן וידאו USB.
שובר: ההתנהגות של MicroPython, נורמליזציית
image.get_histogram(), ופלט ה-JPEG/grayscale של OpenMV 3 השתנו — ראו את השינויים השוברים.
תכונות חדשות¶
OV5640 — נוספה תמיכה מלאה במצלמת OV5640 5 MP (תצורת שעון חיצוני באתחול החיישן) וקבועי גדלי הפריים החדשים
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2.TIM4 — שוחרר כך שהוא שמיש מתוך MicroPython.
נוספה דוגמת כתיבה מתוזמנת של DAC (
dac_write_timed.py) ושמה שלdac_control.pyשונה ל-dac_write.py.
שינויים ושיפורים נוספים¶
ה-MicroPython המצורף עודכן ל-1.12; בוצעה אופטימיזציה משמעותית למקודד ה-JPEG התוכנתי (נתיב VGA, נתיבי grayscale/binary, חשבון שלמים במקום נקודה צפה, לכידת MCU ממוטבת), ל-
find_line_segments()של LSD, לזיהוי AprilTag, ל-Image.histeq(), ולהמרת QR-code / RGB-to-gray; נוספה תמיכה ב-flash מסוג QSPI לשבבים בגודל עד 32 MB; הוסרה דוגמת ה-cnn.pyהמיושנת של CMSIS-CNN.
תיקוני באגים¶
מצלמה והדמיה:
תוקנו השחתת קידוד JPEG ב-HQQQVGA, דחיסת תמונה בינארית (1-bit) → JPEG, רגרסיה ב-
find_line_segments()(אופשרה מחדש בדיקת ה-NOTDEFהלא-מיושרת), ובעיות מינוריות במנהל ההתקן של OV2640.
מערכת ואתחול:
תוקנו השחתת בדיקה עצמית / מערכת קבצים (
selftest.pyרץ כעת לפני אפשור USB MSC, ו-USB MSC מאופשר בעת שגיאה קטלנית כך שהמארח יכול לקרוא את יומן השגיאות), ה-write_timed()שלpyb.DAC, התזמונים שלmachine.I2Cב-H7, אפשור-מחדש של overdrive ב-F7 לאחר מצב stop, ומרווח ה-rtc.wakeup()שלstop_mode.py.
חומרה ותמיכת לוחות¶
OV5640 — מנהל התקן מצלמה מלא של 5 MP עם גדלי פריים ברזולוציה גבוהה.
OpenMV Cam H7 Plus — תמיכת UVC (וידאו USB); יעד הלוח
OPENMV4Rשונה ל-OPENMV4P.flash מסוג QSPI — שבבים בגודל עד 32 MB נתמכים כעת.
שינויי API שוברים¶
שבירות API גלויות למשתמש בין v3.5.2 ל-v3.6.0. היקף: מודולי C של Python ב-modules/ וספריות Python ב-scripts/libraries/.
כל שלושת השינויים השוברים הם שינויי התנהגות (אותו API, תוצאות שונות) — בדקו מחדש סקריפטים מושפעים. כל hash של commit מקשר ל-diff שלו ב-GitHub.
MicroPython עודכן ל-1.12 (התנהגות)¶
ליבת ה-MicroPython המצורפת עודכנה ל-1.12. התנהגות הספרייה הסטנדרטית והשפה עוקבת אחר MicroPython 1.12 מהמקור; בדקו מחדש סקריפטים התלויים בהתנהגות ספציפית-לגרסה של micropython / מודולים סטנדרטיים.
Commits: eafd431ea
נורמליזציית הסף של image.get_histogram() השתנתה (התנהגות)¶
image.get_histogram() (ו-get_statistics()) עם ספי צבע מנרמלים כעת לפי מספר הפיקסלים שעברו סף ולא לפי כל ה-ROI, ומשתמשים ב-floor במקום ב-round לאינדוקס הסלים (bins). ערכי ההיסטוגרמה/הסטטיסטיקה עבור קריאות שעברו סף שונים מגרסאות קודמות — כווננו מחדש קוד שהשווה מול ערכי היסטוגרמה מוחלטים.
Commits: 7cf0f8089
פלט ה-JPEG/grayscale של OpenMV 3 השתנה (התנהגות)¶
כדי לחסוך ב-flash, טבלת החיפוש של YUV ב-OpenMV 3 (M7) הושבתה, ולכן ערכי הפיקסלים בפלט JPEG ו-grayscale מחושבים מעט אחרת ב-OpenMV 3. הפלט עדיין תקף אך שונה במעט מגרסאות קודמות; בדקו מחדש השוואות מדויקות-פיקסל ב-OpenMV 3.
Commits: 0e4b46e41
רשימת בדיקה למעבר¶
אמתו מחדש מול 1.12 סקריפטים התלויים בהתנהגות ספציפית-לגרסה של MicroPython (עדכון ה-MicroPython), כווננו מחדש קוד שהשווה מול ערכי get_histogram() / get_statistics() מוחלטים בעת שימוש בספי צבע (השינוי בהיסטוגרמה), ובדקו מחדש השוואות מדויקות-פיקסל ב-OpenMV 3 (השינוי בפלט OpenMV 3). כל שאר הסקריפטים ירוצו ללא שינוי.