v3.6.4¶
v3.6.4 เพิ่มไลบรารี RTSP video-server, แก้ไขโหมดการถ่ายภาพ OV5640 อย่างสมบูรณ์ (Grayscale / RGB565 / Bayer / JPEG ในทุกความละเอียด), เพิ่ม FPS เซนเซอร์เป็นสองเท่าด้วยไดรเวอร์ที่ปรับปรุง, และแก้ไขบัก Bayer / JPEG encode จำนวนมาก image.get_pixel() บนภาพ Bayer และ sensor auto-rotation เปลี่ยนแปลง — อ่านการเปลี่ยนแปลงที่ส่งผลกระทบด้านล่าง
ไฮไลต์¶
RTSP — ไลบรารี RTSP video-server ใหม่พร้อมตัวอย่าง
OV5640 — Grayscale / RGB565 / Bayer / JPEG ตอนนี้ทำงานได้ในทุกความละเอียด พร้อม JPEG transfer ขนาดใหญ่ขึ้นและ readout ความละเอียดสูงเป็นสองเท่า
FPS เป็นสองเท่า — ไดรเวอร์ sensor ได้รับการปรับปรุงเพื่อ frame rate ~2 เท่า
การแก้ไข — ขอบ Bayer/vflip, software JPEG (1-bpp และ YCbCr grayscale), และปัญหา buffer overflow
การเปลี่ยนแปลงที่ส่งผลกระทบ:
image.get_pixel()ตอนนี้ทำ debayer กับภาพ Bayer และ auto-rotation ตอนนี้ถูก re-apply เมื่อsensor.reset()— ดูการเปลี่ยนแปลงที่ส่งผลกระทบ
ฟีเจอร์ใหม่¶
RTSP — เพิ่มไลบรารี
rtspและตัวอย่างrtsp_video_server.pyสำหรับ RTSP video streaming
การเปลี่ยนแปลงและการปรับปรุงอื่น ๆ¶
ปรับปรุงไดรเวอร์ sensor เพื่อ frame rate ประมาณสองเท่า, เพิ่ม OV5640 high-resolution readout สำหรับ Bayer/Grayscale/JPEG เป็นสองเท่า, เพิ่มขนาด JPEG image transfer สูงสุด, และอัปเดต
cascade_convert.pyให้ทำงานกับ Python 3
การแก้ไขบัก¶
กล้องและการประมวลผลภาพ:
แก้ไขโหมดการถ่ายภาพ OV5640 เพื่อให้ Grayscale / RGB565 / Bayer / JPEG ทำงานถูกต้องในทุกความละเอียด, Bayer vflip บน OV7725 / OV7690, ข้อผิดพลาดการแปลง Bayer ที่ขอบขวา, การ encode software JPEG ของภาพ 1-bpp และ YCbCr grayscale (การลบ −128), ข้อมูลท้ายบนภาพ JPEG, และปัญหา buffer overflow
การเปลี่ยนแปลง API ที่ส่งผลกระทบ¶
การเปลี่ยนแปลง API ที่มองเห็นได้ระหว่าง v3.6.3 และ v3.6.4 ขอบเขต: Python C-modules ใน modules/ และไลบรารี Python ใน scripts/libraries/
การเปลี่ยนแปลงที่ส่งผลกระทบทั้งสองอย่างเป็นการเปลี่ยนแปลง behavior (API เหมือนเดิม ผลลัพธ์ต่างกัน) — ตรวจสอบสคริปต์ที่ได้รับผลกระทบอีกครั้ง แต่ละ commit hash เชื่อมต่อไปยัง diff บน GitHub
image.get_pixel() ทำ debayer กับภาพ Bayer (behavior)¶
image.get_pixel() บนภาพรูปแบบ Bayer ตอนนี้ทำ debayer และคืนค่า tuple (r, g, b) แทนค่า Bayer single-channel ดิบ สคริปต์ที่อ่านค่า Bayer ดิบผ่าน get_pixel() จะได้รับ RGB tuple ที่ผ่าน interpolation แล้วและต้องได้รับการอัปเดต
Commits: bf16b6a4f
Auto-rotation ถูก re-apply เมื่อ sensor.reset() (behavior)¶
Sensor auto-rotation ตอนนี้ถูก (re-)trigger เมื่อ sensor.reset() สคริปต์ที่เรียก sensor.reset() หลังจากกำหนดค่า orientation โดยคาดว่าสถานะ rotation จะคงอยู่หรือไม่ถูก re-apply อาจเห็น orientation ที่แตกต่างกันและควรตรวจสอบอีกครั้ง
Commits: 0d13a214b
รายการตรวจสอบการย้าย¶
อัปเดตโค้ดที่อ่านค่า Bayer ดิบผ่าน image.get_pixel() ให้คาดหวัง tuple (r, g, b) (การเปลี่ยนแปลง get_pixel), และตรวจสอบ sensor orientation รอบ sensor.reset() อีกครั้ง (การเปลี่ยนแปลง auto-rotation) สคริปต์อื่น ๆ ทั้งหมดทำงานได้โดยไม่มีการเปลี่ยนแปลง