v2.8.0¶
v2.8.0 היא גרסה עצומה. היא מפעילה את OpenMV Cam H7 (STM32H7) עם מקודד JPEG חומרתי ו-ADC/DAC של H7, שיפוץ ענק של ה-API של מודול image (עובי/מילוי ציור, פעולות מתמטיות/בינאריות, מסננים חדשים רבים, ספירת סף Otsu), ריבוי תהליכונים ב-MicroPython, ומודול הגרסה omv. סדר ניתוח הארגומנטים של Python ננעל ו-image.mask_ellipse() הוסר — קראו את השינויים שוברי-התאימות שלהלן.
עיקרים¶
OpenMV Cam H7 — לוח STM32H7 חדש עם מקודד JPEG חומרתי ו-ADC / DAC של H7.
שיפוץ
image— עובי קו, מילויי צורות,draw_arrow()/draw_image(), פעולות מתמטיות/בינאריות מלאות, ומסננים חדשים רבים.ספירת סף Otsu —
histogram.get_threshold()ואובייקטThreshold.ריבוי תהליכונים — תמיכת
_threadב-MicroPython.מודול
omv— מידע גרסה / לוח.שובר-תאימות: סדר הארגומנטים המיקומיים של Python נוקשה כעת ו-
image.mask_ellipse()הוסר — ראו את השינויים שוברי-התאימות.
תכונות חדשות¶
OpenMV Cam H7 — תמיכת לוח STM32H7 עם מקודד JPEG חומרתי, ADC של H7, ו-DAC של H7.
ציור — נוספו
thicknessלקו,fillלצורות (מלבן / מעגל),scale/ kerning לטקסט, מילת מפתחmono_spaceב-draw_string(),image.draw_arrow(), ו-image.draw_image()(ציור sprite / mask).פעולות מתמטיות — נוספו
add(),sub(),mul(),div(),min(),max(),difference(),blend(),replace()(עםhmirror/vflip/mask), ו-remove_shadows(); פעולות בסיסיות מקבלות כעת ערך סקלר/צבע המוחל על כל הפיקסלים.בינארי / מורפולוגיה — סוג תמונה בינארי חדש ו-
binary(); פעולות קו ו-erode()/dilate()מקבלים מסכות; נוספוopen()/close()/top_hat()/black_hat().מסננים — נוספו
cartoon,flood_fill,bilateral,laplacian, כינוייblur/gaussian_blur, והשוואת היסטוגרמה אדפטיבית (histeq(adaptive=, clip_limit=, mask=)).סטטיסטיקה —
get_statistics()/get_histogram()מקבלים רשימת סף צבע ו-invert; נוספוhistogram.get_threshold()של Otsu ואובייקטThreshold.CMSIS CNN — נוסף
image.classify_object()עם דוגמתcnn.py(הוחלף על-ידי מודול ה-nnב-v3.0.0).ריבוי תהליכונים — הופעל מודול ה-
_threadשל MicroPython.מודול
omv— נוסף מידע גרסה (version_string,arch,board_type,board_id); הופעלו אפיק I2C4 שלmachineופונקציות מתמטיות מיוחדות (erf,gamma, …); נוספו דוגמאות מגן-מנוע ודוגמאות סקריפט חדשות רבות.
שינויים ושיפורים נוספים¶
שעון החיישן החיצוני של ה-H7 הונמך ל-48 MHz (איכות תמונה טובה יותר, מספר פריימים נמוך יותר); איכות JPEG נמוכה/גבוהה ניתנת כעת להגדרה לפי לוח (ומכוונת ל-H7); נוסף שער-תכונות
imlib_config.hלכל לוח (כל פונקציות התמונה נשארות מופעלות בקושחת המלאי); עודכן ה-MicroPython המצורף.
תיקוני באגים¶
הדמיה:
תוקנו
image.save()ללא סיומת קובץ, מיפוי ה-gain_db/gain_db_ceilingעבור OV2640 / OV7725 / OV9650 / MT9V034, הגבר מופרז ב-sharpen(), רעש קצה מורפולוגי, חלוקה-באפס בפעולת תמונה, וקריסת מחיקת-מחסנית בגודל גרעין מסנן גדול-מדי (כעת שגיאה נקייה).
מערכת:
הוגן חוצץ ה-USB VCP בקטע אטומי (השחתה טורית, #313), תוקנו קישוריות USB ב-Windows, עיגון מערכת קבצי הפלאש הפנימית אם כרטיס ה-SD נכשל, ערך ה-PLLP של
set_frequency()ב-cpufreq, ובאג בצריבת קושחה במאתחל (bootloader).
חומרה ותמיכת לוחות¶
OpenMV Cam H7 (STM32H7) — לוח חדש עם מקודד JPEG חומרתי ו-ADC / DAC של H7.
machine— הופעל אפיק ה-I2C4.
שינויי API שוברי-תאימות¶
שבירות API נראות-למשתמש בין v2.7.0 ל-v2.8.0. היקף: מודולי C של Python בתוך modules/ וספריות Python בתוך scripts/libraries/.
שני השינויים שוברי-התאימות הם משניים ומשפיעים רק על סקריפטים שהשתמשו בתכונה הרלוונטית. כל hash של commit מקושר ל-diff שלו ב-GitHub.
סדר הארגומנטים המיקומיים של Python נוקשה כעת (משני)¶
ניתוח הארגומנטים על פני מודולי ה-C של Python (image / sensor / fir / gif / lcd / mjpeg) קורא כעת ארגומנטים מיקומיים לפני מילות מפתח ונועל את הסדר המיקומי. בשילוב עם מילות המפתח החדשות במתודות הציור (draw_line() / draw_rectangle() / draw_circle() / draw_string() / draw_cross() / draw_keypoints() שקיבלו thickness / fill / scale / size), קוד שהעביר פרמטרים מיקומית בסדר שגוי — או שהעביר color מיקומי אחרי אחד מהארגומנטים החדשים — חייב להשתמש במילות מפתח או בסדר המיקומי המתועד.
image.mask_ellipse() הוסר (משני)¶
image.mask_ellipse() הוסר. סקריפטים שקראו לו חייבים להשמיט את הקריאה או להשתמש ב-ROI / תמונת מסכה מפורשים במקום.
Commits: d7159fba3
רשימת בדיקה להסבה¶
העבירו ארגומנטים לפי מילת מפתח (או בסדר המיקומי המתועד), במיוחד color במתודות הציור (שינוי סדר הארגומנטים), והסירו קריאות image.mask_ellipse() (הסרת ה-mask_ellipse). כל שאר הסקריפטים פועלים ללא שינוי.