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() (שינוי הסיבוב האוטומטי). כל שאר הסקריפטים רצים ללא שינוי.