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(), פעולות מתמטיות/בינאריות מלאות, ומסננים חדשים רבים.

  • ספירת סף Otsuhistogram.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 מיקומי אחרי אחד מהארגומנטים החדשים — חייב להשתמש במילות מפתח או בסדר המיקומי המתועד.

Commits: e0e112468, fc74e70c3

image.mask_ellipse() הוסר (משני)

image.mask_ellipse() הוסר. סקריפטים שקראו לו חייבים להשמיט את הקריאה או להשתמש ב-ROI / תמונת מסכה מפורשים במקום.

Commits: d7159fba3

רשימת בדיקה להסבה

העבירו ארגומנטים לפי מילת מפתח (או בסדר המיקומי המתועד), במיוחד color במתודות הציור (שינוי סדר הארגומנטים), והסירו קריאות image.mask_ellipse() (הסרת ה-mask_ellipse). כל שאר הסקריפטים פועלים ללא שינוי.