v2.5.0¶
גרסה v2.5.0 היא שחרור עשיר תכונות בתחום עיבוד התמונה: היא מוסיפה את find_rects(), find_circles(), get_regression() (התאמת קו/רגרסיה), find_number() (ספרות LeNet), את מחלקות ההזרמה ImageWriter / ImageReader, את sensor.flush() / width() / height(), ותמיכת pyb.RTC. טעינת תמונה נתמכת כעת על-ידי חוצץ הפריימים (framebuffer) — קראו את השינויים השוברים למטה.
עיקרים¶
image.find_rects()— מזהה מלבנים / מרובעים עם פלט פינות.image.find_circles()— זיהוי מעגלים באמצעות Hough.image.get_regression()— התאמת קו בריבועים פחותים ובשיטה חסינה (Theil-Sen).image.find_number()— זיהוי ספרות באמצעות LeNet.ImageWriter/ImageReader— הקלטה והשמעה חוזרת של זרמי תמונות.תמיכת
pyb.RTC, בנוסף לsensor.flush()/sensor.width()/sensor.height().שובר: טעינת תמונה נתמכת כעת על-ידי חוצץ הפריימים ומעלה שגיאה אם התמונה גדולה מדי — ראו את השינויים השוברים.
תכונות חדשות¶
זיהוי מאפיינים — נוספו
image.find_rects()(מזהה מרובעים של AprilTag; אובייקטי rect עםx/y/w/h/corners/magnitude),image.find_circles()(Hough),image.get_regression()(התאמת קו בריבועים פחותים + שיטת Theil-Sen החסינה), ו-image.find_number()(זיהוי ספרות באמצעות LeNet), כל אחד עם סקריפטי דוגמה.פינות תוצאה — נוסף מאפיין
cornersלאובייקטי התוצאה של QR-code / AprilTag / data-matrix / ברקוד.זרמי תמונות — נוספו המחלקות
image.ImageWriter/image.ImageReader(פורמט נתחים מיושר ל-16 בתים) עם הדוגמאותimage_writer.py/image_reader.py.חיישן — נוספו
sensor.flush()(דחיפת חוצץ הפריימים ל-IDE ללא snapshot) וsensor.width()/sensor.height().pyb.RTC— הופעלה תמיכת RTC עם דוגמתrtc.py.נוספו Haar cascade לזיהוי פני חתול ודוגמת Servo-Shield (PCA9685); כלי המארח
openmv-cascade.pyקיבל תמיכה בפורמט ה-cascade החדש של OpenCV XML.
שינויים ושיפורים נוספים¶
חוצץ הפריימים עבר refactoring כך שמתודות תמונה מסוג
copy_to_fbמעדכנות את התצוגה המקדימה ב-IDE; נתיביHaarCascade()אינם דורשים עוד/מוביל (מובנה לעומת קובץ מזוהה אוטומטית); הקלטת GIF/MJPEG תומכת כעת ב-VGA (וב-GIFs של BAYER); קובץ ה-README.txtהמובנה עודכן וקובץ הדרייברopenmv.infאינו נוצר עוד במערכת קבצים חדשה.
תיקוני באגים¶
עיבוד תמונה:
תוקנו צבירת הקולות ב-
find_circles(), היסט ה-rho ב-get_regression()עם ROI ודליפת זיכרון, מיזוג קטעים ב-find_lines(), מיצוע הזווית ב-find_blobs()וגבולות הצבע המוגדרים כברירת מחדל (הכי פחות מגבילים), יציבות מיון נקודות המפתח של ORB / סדר המתארים (descriptors) ודגל ההתאמה, וטעינה מחוצצת של Haar cascade (קריאות לא מיושרות).
מערכת:
הופעל Servo 3 (P9) של
pyb(#256), תוקן אתחול ה-RTC, הוגדל timeout התווים של UART (#240), ותוקן דגל ה-”enabled“ הלא-מאותחל של חוצץ הפריימים של החיישן.
תמיכת חומרה ולוחות¶
שינויי API שוברים¶
שבירות API גלויות למשתמש בין v2.4.1 ל-v2.5.0. היקף: מודולי C של Python ב-modules/ וספריות Python ב-scripts/libraries/.
השינוי השובר הוא שינוי behavior (אותו API, תוצאה שונה) — בדקו מחדש סקריפטים מושפעים. כל hash של commit מקושר ל-diff שלו ב-GitHub.
טעינת תמונה נתמכת על-ידי חוצץ הפריימים (behavior)¶
image.Image / טעינת תמונה מעתיקה כעת את התמונה הטעונה לתוך חוצץ הפריימים הראשי ומעלה חריגה אם התמונה גדולה מדי מכדי להיכנס. טעינות שהצליחו בעבר לחוצץ ערימה (heap) עלולות כעת להיכשל — ודאו שתמונות טעונות נכנסות לחוצץ הפריימים (או טפלו בשגיאה החדשה).
Commits: 87d53385a
רשימת בדיקה להגירה¶
ודאו שתמונות טעונות נכנסות לחוצץ הפריימים (או תפסו את השגיאה החדשה ”image too large“) במקומות שבהם הסתמכתם בעבר על טעינות תמונה מבוססות ערימה (heap) (השינוי בטעינת התמונה). כל שאר הסקריפטים רצים ללא שינוי.