v4.4.3¶
v4.4.3 เปิดตัวบอร์ด OpenMV RT1060 (NXP i.MX RT1060), API บันทึก MJPEG ที่ขยายขึ้นอย่างมาก, เมธอด ISP ใหม่สำหรับภาพ (auto white balance, color correction matrix, gamma) และ MicroPython 1.20 ชื่อบอร์ด Arduino เปลี่ยนแปลงและค่าเริ่มต้นของ MJPEG เปลี่ยนไป — อ่านรายละเอียดการเปลี่ยนแปลงที่ส่งผลกระทบด้านล่าง
จุดเด่น¶
OpenMV RT1060 — บอร์ด NXP i.MX RT1060 ใหม่ (และรีวิชัน REV2)
API MJPEG ที่ขยายขึ้น —
write(),count,is_closed,sync(), keyword ROI/palette/alpha และ finalizerเมธอด ISP ใหม่ —
image.awb(),image.ccm(),image.gamma()อัปเดต MicroPython เป็น 1.20.0
การเปลี่ยนแปลงที่ส่งผลกระทบ: เป้าหมายบอร์ด Arduino ถูกเปลี่ยนชื่อและคุณภาพเริ่มต้นของ MJPEG เปลี่ยนไป — ดูรายละเอียดการเปลี่ยนแปลงที่ส่งผลกระทบ
ฟีเจอร์ใหม่¶
OpenMV RT1060 — พอร์ต NXP i.MX RT1060 เต็มรูปแบบ (ไดรเวอร์ sensor, GPIO, I2C, SPI) และการกำหนดค่าบอร์ด รวมถึงการรองรับ RT1060 REV2 board revision และ
machine.RTCalarm/wakeup บนพอร์ต i.MX RTMJPEG — เมธอด
Mjpeg.write()ใหม่ (พร้อม keywordroi,rgb_channel,alpha,color_palette,alpha_palette,hint) รวมถึงcount,is_closed,sync()และ__del__finalizer และชื่อ constructor aliasMJPEG/Mjpeg/mjpegเมธอด ISP ภาพ —
image.awb([max])(auto white balance),image.ccm(matrix)(color-correction matrix ขนาด 3x3 / 4x3) และimage.gamma(gamma, contrast, brightness)AprilTag — attribute centroid แบบ floating-point ใหม่
cxf/cyf(cx/cyยังคงคืนค่าจำนวนเต็มที่ปัดเศษ)ML —
tf.regression()ตอนนี้รับ ulab ndarray และรองรับ 2D input tensors (ยังรองรับ 1D); TensorFlow Lite ops เพิ่มเติมถูกเปิดใช้งานในไลบรารีlibtfที่รวมมา
การเปลี่ยนแปลงและการปรับปรุงอื่น ๆ¶
อัปเดต MicroPython เป็น 1.20.0; อัปเดต ulab เป็น 6.0.12
image.gamma/gamma_corrถูกปรับปรุงเป็นเมธอด ISP และขยายให้รองรับภาพ Bayer และ YUV (ไม่ใช่แค่ภาพที่แก้ไขได้เท่านั้น)บอร์ด STM32 (Portenta H7, Nicla Vision) เปลี่ยนมาใช้ไดรเวอร์ WiFi cyw43 แบบ open-source
ไลบรารี
rtspถูกทำให้พกพาได้ (ใช้random/timeแทนpyb);urequestsตอนนี้ปิด socket เสมอ
การแก้ไขบัก¶
กล้องและเซนเซอร์:
แก้ไขอัตรา clock ของ OV767x (CLKRC) บน Arduino Nano 33 BLE Sense, การจัดการ CLKRC bypass/pre-scaler ของ OV7670 และสลับสาย D0/D1 บน Arduino Nicla Vision / ML kit (nrf port)
ระบบและ USB:
แก้ไขการจัดการแพ็กเก็ต USB สั้นในโหมด TinyUSB debug (การถ่ายโอน IDE/host ที่น่าเชื่อถือยิ่งขึ้น)
แก้ไขขั้วของ LED กะพริบบน OpenMV RT1060 และการตรวจจับ SD-card เมื่อเปิดเครื่อง
ฮาร์ดแวร์และการรองรับบอร์ด¶
OpenMV RT1060 — บอร์ด NXP i.MX RT1060 ใหม่ พร้อมรีวิชัน REV2
STM32 — Portenta H7 / Nicla Vision ย้ายไปใช้ไดรเวอร์ WiFi cyw43 แบบ open-source
การเปลี่ยนแปลง API ที่ส่งผลกระทบ¶
การเปลี่ยนแปลง API ที่ผู้ใช้มองเห็นได้ระหว่าง v4.4.2 และ v4.4.3 ขอบเขต: Python C-modules ใน modules/ และไลบรารี Python ใน scripts/libraries/
การเปลี่ยนแปลงแต่ละรายการมีป้ายกำกับผลกระทบ:
behavior — API เหมือนเดิม แต่ผลลัพธ์ต่างกัน; ตรวจสอบสคริปต์ที่ปรับแต่งไว้ใหม่
tooling — ส่งผลต่อการตั้งชื่อบอร์ด/การแฟลช ไม่ใช่ Python API
การเปลี่ยนแปลงถูกจัดกลุ่มตามผลกระทบตามลำดับนั้น แต่ละ commit hash เชื่อมโยงไปยัง diff บน GitHub
ค่าเริ่มต้นและการจัดการข้อผิดพลาดของ MJPEG (behavior)¶
โค้ดการบันทึก MJPEG ได้รับการปรับปรุงใหม่ทั้งหมด ค่าเริ่มต้น JPEG quality ของ add_frame() / write() ถูกเพิ่มจาก 50 เป็น 90 (การบันทึกมีขนาดใหญ่ขึ้นและมีคุณภาพสูงขึ้นโดยค่าเริ่มต้น) quality ที่ไม่ถูกต้องตอนนี้ raise ValueError, การดำเนินการบนไฟล์ที่ปิดแล้วตอนนี้ raise OSError และเมธอดการบันทึกตอนนี้คืนค่า object Mjpeg สคริปต์ที่พึ่งพา quality เริ่มต้นเก่าหรือพฤติกรรมข้อผิดพลาดเดิมควรได้รับการตรวจสอบใหม่
Commit: 3fc55ad31
เปลี่ยนชื่อเป้าหมายบอร์ด Arduino (tooling)¶
เป้าหมายบอร์ด Arduino ถูกเปลี่ยนชื่อตามรูปแบบการตั้งชื่อที่อัปเดตแล้ว และ board manifests ทั้งหมด (ชุดโมดูลที่ frozen) ได้รับการรีเฟรช การเปลี่ยนแปลงนี้ไม่กระทบ Python API แต่ชื่อไฟล์เฟิร์มแวร์/บอร์ดที่ใช้สร้างหรือแฟลชบอร์ด Arduino เปลี่ยนไป — อัปเดต tooling ของคุณตามนั้น
รายการตรวจสอบการ migration¶
สำหรับการ port ที่สะอาดไปยัง v4.4.3: ตรวจสอบการบันทึก MJPEG สำหรับ quality เริ่มต้นใหม่และพฤติกรรมข้อผิดพลาด (การเปลี่ยนแปลง MJPEG) และอัปเดต build/flash tooling สำหรับเป้าหมายบอร์ด Arduino ที่เปลี่ยนชื่อ (การเปลี่ยนชื่อบอร์ด) สคริปต์อื่น ๆ ทั้งหมดทำงานได้โดยไม่ต้องแก้ไข