v4.4.3¶
v4.4.3 מציגה את לוח OpenMV RT1060 (NXP i.MX RT1060), API מורחב מאוד להקלטת MJPEG, מתודות ISP חדשות לתמונה (איזון לבן אוטומטי, מטריצת תיקון צבע, גמא), ו-MicroPython 1.20. שמות לוחות Arduino שונו וברירות המחדל של MJPEG השתנו — קראו את השינויים השוברים תאימות שלהלן.
עיקרי הדברים¶
OpenMV RT1060 — לוח NXP i.MX RT1060 חדש (וגרסת REV2).
API מורחב של MJPEG —
write(),count,is_closed,sync(), מילות מפתח ROI/palette/alpha, ופונקציית סיום (finalizer).מתודות ISP חדשות —
image.awb(),image.ccm(),image.gamma().MicroPython עודכן ל-1.20.0.
שובר תאימות: יעדי לוחות Arduino שונו וברירת המחדל של איכות ה-MJPEG השתנתה — ראו את השינויים השוברים תאימות.
תכונות חדשות¶
OpenMV RT1060 — פורט מלא ל-NXP i.MX RT1060 (מנהלי התקן לחיישן, GPIO, I2C, SPI) ותצורת לוח, בנוסף לתמיכה בגרסת הלוח RT1060 REV2 ו-
machine.RTCעם התראה/יקיצה בפורט i.MX RT.MJPEG — מתודה חדשה
Mjpeg.write()(עם מילות המפתחroi,rgb_channel,alpha,color_palette,alpha_palette,hint) בנוסף ל-count,is_closed,sync()ופונקציית סיום__del__, וכינויי בנאיMJPEG/Mjpeg/mjpeg.מתודות ISP לתמונה —
image.awb([max])(איזון לבן אוטומטי),image.ccm(matrix)(מטריצת תיקון-צבע 3x3 / 4x3), ו-image.gamma(gamma, contrast, brightness).AprilTag — מאפייני מרכז חדשים מסוג נקודה צפה
cxf/cyf(cx/cyעדיין מחזירים מספרים שלמים מעוגלים).ML —
tf.regression()מקבל כעת ndarray של ulab ותומך בטנזורי קלט דו-ממדיים (קלט חד-ממדי עדיין נתמך); אופשרו פעולות נוספות של TensorFlow Lite בספריות ה-libtfהמצורפות.
שינויים ושיפורים נוספים¶
MicroPython עודכן ל-1.20.0; ulab עודכן ל-6.0.12.
image.gamma/gamma_corrעוצבו מחדש כמתודת ISP והורחבו לתמיכה בתמונות Bayer ו-YUV (לא רק בתמונות ניתנות לשינוי).לוחות STM32 (Portenta H7, Nicla Vision) עברו למנהל ההתקן בקוד פתוח cyw43 ל-WiFi.
ספריית ה-
rtspהפכה לניידת (משתמשת ב-random/timeבמקום ב-pyb);urequestsסוגר כעת תמיד את השקע שלו.
תיקוני באגים¶
מצלמה וחיישנים:
תוקנו קצב השעון של OV767x (CLKRC) ב-Arduino Nano 33 BLE Sense, הטיפול בעקיפת/קדם-מחלק (pre-scaler) של CLKRC ב-OV7670, וקווי הנתונים D0/D1 שהוחלפו ב-Arduino Nicla Vision / ML kit (פורט nrf).
מערכת ו-USB:
תוקן הטיפול בחבילות-USB קצרות במצב באגים של TinyUSB (העברות IDE/מארח אמינות יותר).
תוקנו קוטביות הנורית המהבהבת ב-OpenMV RT1060 וזיהוי כרטיס SD בעת הדלקה.
תמיכת חומרה ולוחות¶
OpenMV RT1060 — לוח NXP i.MX RT1060 חדש, בנוסף לגרסת REV2.
STM32 — Portenta H7 / Nicla Vision עברו למנהל ההתקן בקוד פתוח cyw43 ל-WiFi.
שינויי API שוברי תאימות¶
שבירות API גלויות למשתמש בין v4.4.2 ל-v4.4.3. היקף: מודולי C של Python בתוך modules/ וספריות Python בתוך scripts/libraries/.
כל שינוי מתויג לפי ההשפעה שלו:
behavior — אותו API, תוצאות שונות; בדקו מחדש סקריפטים מכווננים.
tooling — משפיע על מתן שמות ללוחות / ריענון קושחה, לא על ה-API של Python.
השינויים מקובצים לפי השפעה בסדר הזה. כל גיבוב (hash) של commit מקושר ל-diff שלו ב-GitHub.
ברירות מחדל וטיפול בשגיאות של MJPEG (behavior)¶
קוד הקלטת ה-MJPEG עבר שיפוץ. ברירת המחדל של quality ה-JPEG ב-add_frame() / write() הועלתה מ-50 ל-90 (ההקלטות גדולות ואיכותיות יותר כברירת מחדל), איכות לא חוקית מעלה כעת ValueError, פעולה על קובץ סגור מעלה כעת OSError, ומתודות ההקלטה מחזירות כעת את אובייקט ה-Mjpeg. יש לבדוק מחדש סקריפטים שהסתמכו על איכות ברירת המחדל הישנה או על התנהגות השגיאה הקודמת.
Commit: 3fc55ad31
יעדי לוחות Arduino שמם שונה (tooling)¶
שמות יעדי לוחות ה-Arduino שונו למוסכמת מתן שמות מעודכנת וכל מניפסטי הלוחות (סטים של מודולים קפואים) רועננו. זה אינו משנה את ה-API של Python, אך שמות הקבצים/לוחות של הקושחה המשמשים לבנייה או לריענון קושחה של לוחות Arduino השתנו — עדכנו את הכלים שלכם בהתאם.
רשימת תיוג להסבה¶
להסבה נקייה ל-v4.4.3: בדקו מחדש הקלטות MJPEG לאיכות ברירת המחדל החדשה ולהתנהגות השגיאה (שינוי ה-MJPEG), ועדכנו את כלי הבנייה/ריענון הקושחה ליעדי לוחות ה-Arduino ששמם שונה (שינוי שמות הלוחות). כל שאר הסקריפטים פועלים ללא שינוי.