v3.6.4

v3.6.4 מוסיפה ספריית שרת וידאו RTSP, מתקנת באופן מלא את מצבי העיבוד של ה-OV5640 (Grayscale / RGB565 / Bayer / JPEG בכל רזולוציה), מכפילה את ה-FPS של החיישן עם מנהל התקן מאופטם, ומתקנת אצווה של באגים בקידוד Bayer / JPEG. image.get_pixel() על תמונות Bayer והסיבוב האוטומטי של החיישן השתנו — קראו את השינויים שוברי-התאימות שלהלן.

עיקרי הדברים

  • RTSP — ספריית שרת וידאו RTSP חדשה עם דוגמה.

  • OV5640 — Grayscale / RGB565 / Bayer / JPEG עובדים כעת בכל הרזולוציות, עם העברת JPEG מרבית גדולה יותר וקריאה ברזולוציה גבוהה מוכפלת.

  • FPS כפול — מנהל ההתקן של החיישן עבר אופטימיזציה לקצב פריימים גבוה פי 2 בערך.

  • תיקונים — Bayer edge/vflip, JPEG תוכנתי (‎1-bpp ו-YCbCr בגווני אפור), ובעיות גלישת חוצץ (buffer).

  • שובר תאימות: image.get_pixel() מבצע כעת debayer לתמונות Bayer והסיבוב האוטומטי מוחל כעת מחדש ב-sensor.reset() — ראו את השינויים שוברי-התאימות.

תכונות חדשות

  • RTSP — נוספה ספריית rtsp ודוגמת rtsp_video_server.py להזרמת וידאו RTSP.

שינויים ושיפורים נוספים

  • בוצעה אופטימיזציה למנהל ההתקן של החיישן לקצב פריימים כפול בקירוב, הוכפלה קריאת ה-OV5640 ברזולוציה גבוהה עבור Bayer/Grayscale/JPEG, הוגדל גודל ההעברה המרבי של תמונת JPEG, ועודכן cascade_convert.py לעבוד עם Python 3.

תיקוני באגים

מצלמה ועיבוד תמונה:

  • תוקנו מצבי העיבוד של ה-OV5640 כך ש-Grayscale / RGB565 / Bayer / JPEG עובדים כראוי בכל הרזולוציות, ה-Bayer vflip ב-OV7725 / OV7690, שגיאת המרת ה-Bayer בקצה הימני, קידוד JPEG תוכנתי של תמונות ‎1-bpp ושל YCbCr בגווני אפור (החיסור של ‎−128), נתונים נגררים בתמונות JPEG, ובעיות גלישת חוצץ (buffer).

שינויים שוברי-תאימות ב-API

שבירות API גלויות-למשתמש בין v3.6.3 ל-v3.6.4. היקף: מודולי C של Python ב-modules/ וספריות Python ב-scripts/libraries/.

שני השינויים שוברי-התאימות הם שינויי behavior (אותו API, תוצאות שונות) — בדקו מחדש סקריפטים מושפעים. כל hash של commit מקושר ל-diff שלו ב-GitHub.

image.get_pixel() מבצע debayer לתמונות Bayer (behavior)

image.get_pixel() על תמונה בפורמט Bayer מבצע כעת debayer ומחזיר tuple מסוג (r, g, b) במקום ערך ה-Bayer הגולמי בערוץ יחיד. סקריפטים שקראו ערכי Bayer גולמיים דרך get_pixel() יקבלו כעת tuples של RGB באינטרפולציה ויש לעדכן אותם.

Commits: bf16b6a4f

הסיבוב האוטומטי מוחל מחדש ב-sensor.reset() (behavior)

הסיבוב האוטומטי של החיישן מופעל כעת (מחדש) ב-sensor.reset(). סקריפטים שקראו ל-sensor.reset() אחרי קביעת אוריינטציה, וציפו שמצב הסיבוב יישמר או לא יוחל מחדש, עשויים לראות אוריינטציה שונה ויש לבדוק אותם מחדש.

Commits: 0d13a214b

רשימת מעבר

עדכנו קוד שקרא ערכי Bayer גולמיים דרך image.get_pixel() כך שיצפה ל-tuple מסוג (r, g, b) (שינוי get_pixel), ובדקו מחדש את אוריינטציית החיישן סביב sensor.reset() (שינוי הסיבוב האוטומטי). כל שאר הסקריפטים רצים ללא שינוי.