v3.6.0¶
v3.6.0 นำเสนอการรองรับกล้อง OV5640 5 MP แบบเต็มรูปแบบพร้อม framesizes ความละเอียดสูงใหม่ (HD / FHD / QHD / QXGA / WQXGA), อัปเดตคอร์เป็น MicroPython 1.12, ปรับปรุงประสิทธิภาพตัวเข้ารหัส JPEG ซอฟต์แวร์และการตรวจจับ AprilTag / เส้นอย่างมาก, เพิ่ม UVC (USB video) บน OpenMV Cam H7 Plus, และรองรับ QSPI flash สูงสุด 32 MB พฤติกรรมของ MicroPython และ get_histogram() เปลี่ยนแปลง — กรุณาอ่านการเปลี่ยนแปลงที่ไม่เข้ากันด้านล่าง
ไฮไลต์¶
OV5640 5 MP — ไดรเวอร์กล้องแบบเต็มรูปแบบพร้อม framesizes ใหม่ HD / FHD / QHD / QXGA / WQXGA / WQXGA2
MicroPython 1.12 — อัปเดตคอร์ที่รวมอยู่แล้ว
Pipeline ที่เร็วกว่า — ปรับปรุงประสิทธิภาพการเข้ารหัส JPEG ซอฟต์แวร์, การตรวจจับ AprilTag, การตรวจจับเส้น LSD,
histeq(), และการถอดรหัส QR code อย่างมากUVC บน H7 Plus — OpenMV Cam H7 Plus สามารถทำหน้าที่เป็นอุปกรณ์ USB video ได้
การเปลี่ยนแปลงที่ไม่เข้ากัน: พฤติกรรม MicroPython, การทำให้เป็นมาตรฐานของ
image.get_histogram(), และผลลัพธ์ JPEG/ระดับสีเทาของ OpenMV 3 เปลี่ยนแปลง — ดูการเปลี่ยนแปลงที่ไม่เข้ากัน
คุณสมบัติใหม่¶
OV5640 — เพิ่มการรองรับแบบเต็มรูปแบบสำหรับกล้อง OV5640 5 MP (การกำหนดค่า external clock ใน sensor init) และค่าคงที่ framesize ใหม่
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2TIM4 — ปลดปล่อยแล้วเพื่อให้สามารถใช้งานจาก MicroPython ได้
เพิ่มตัวอย่าง DAC timed-write (
dac_write_timed.py) และเปลี่ยนชื่อdac_control.pyเป็นdac_write.py
การเปลี่ยนแปลงและการปรับปรุงอื่น ๆ¶
อัปเดต MicroPython ที่รวมอยู่เป็น 1.12; ปรับปรุงประสิทธิภาพตัวเข้ารหัส JPEG ซอฟต์แวร์อย่างมาก (VGA path, grayscale/binary paths, การคำนวณจำนวนเต็มแทนทศนิยม, การจับ MCU ที่ปรับปรุงแล้ว), LSD
find_line_segments(), การตรวจจับ AprilTag,Image.histeq(), และการแปลง QR-code / RGB-to-gray; เพิ่มการรองรับ QSPI flash สำหรับชิปสูงสุด 32 MB; ลบตัวอย่าง CMSIS-CNNcnn.pyที่ล้าสมัย
การแก้ไขบั๊ก¶
กล้องและการประมวลผลภาพ:
แก้ไขการเสียหายของการเข้ารหัส JPEG ที่ HQQQVGA, การบีบอัด JPEG ของภาพไบนารี (1 บิต), การถดถอยของ
find_line_segments()(เปิดใช้งานการตรวจสอบ non-alignedNOTDEFอีกครั้ง), และปัญหาเล็กน้อยของไดรเวอร์ OV2640
ระบบและการบูต:
แก้ไข self-test / การเสียหายของระบบไฟล์ (
selftest.pyตอนนี้ทำงานก่อน USB MSC เปิดใช้งาน และ USB MSC เปิดใช้งานเมื่อมีข้อผิดพลาดร้ายแรงเพื่อให้โฮสต์อ่าน error log ได้),pyb.DACwrite_timed(), ช่วงเวลา H7machine.I2C, การเปิดใช้งาน F7 overdrive อีกครั้งหลังโหมดหยุด, และช่วงเวลาrtc.wakeup()ของstop_mode.py
ฮาร์ดแวร์และการรองรับบอร์ด¶
OV5640 — ไดรเวอร์กล้อง 5 MP แบบเต็มรูปแบบพร้อม framesizes ความละเอียดสูง
OpenMV Cam H7 Plus — การรองรับ UVC (USB video); เป้าหมายบอร์ด
OPENMV4Rถูกเปลี่ยนชื่อเป็นOPENMV4PQSPI flash — ตอนนี้รองรับชิปสูงสุด 32 MB
การเปลี่ยนแปลง API ที่ไม่เข้ากัน¶
การเปลี่ยนแปลง API ที่ผู้ใช้มองเห็นได้ระหว่าง v3.5.2 และ v3.6.0 ขอบเขต: Python C-modules ใน modules/ และไลบรารี Python ใน scripts/libraries/
การเปลี่ยนแปลงที่ไม่เข้ากันทั้งสามนี้เป็นการเปลี่ยนแปลง พฤติกรรม (API เดิม ผลลัพธ์ต่างกัน) — ตรวจสอบสคริปต์ที่ได้รับผลกระทบอีกครั้ง แต่ละแฮชคอมมิตลิงก์ไปยัง diff บน GitHub
MicroPython อัปเดตเป็น 1.12 (พฤติกรรม)¶
คอร์ MicroPython ที่รวมอยู่ได้รับการอัปเดตเป็น 1.12 พฤติกรรมของไลบรารีมาตรฐานและภาษาเป็นไปตาม MicroPython 1.12 upstream; ตรวจสอบสคริปต์ที่ขึ้นอยู่กับพฤติกรรมเฉพาะเวอร์ชันของ micropython / โมดูลมาตรฐานอีกครั้ง
Commits: eafd431ea
การทำให้เป็นมาตรฐานของ image.get_histogram() เปลี่ยนแปลง (พฤติกรรม)¶
image.get_histogram() (และ get_statistics()) ที่มีค่าขีดแบ่งสีตอนนี้ทำให้เป็นมาตรฐานโดยจำนวนพิกเซลที่ผ่านค่าขีดแบ่งแทนทั้ง ROI และใช้ floor แทน round สำหรับการทำ bin indexing ค่าฮิสโตแกรม/สถิติสำหรับการเรียกที่มีค่าขีดแบ่งแตกต่างจากเวอร์ชันก่อนหน้า — ปรับโค้ดที่เปรียบเทียบกับค่าฮิสโตแกรมแบบสัมบูรณ์อีกครั้ง
Commits: 7cf0f8089
ผลลัพธ์ JPEG/ระดับสีเทาของ OpenMV 3 เปลี่ยนแปลง (พฤติกรรม)¶
เพื่อประหยัดแฟลช YUV lookup table ของ OpenMV 3 (M7) ถูกปิดใช้งาน ดังนั้นค่าพิกเซลของผลลัพธ์ JPEG และระดับสีเทาจะคำนวณแตกต่างกันเล็กน้อยบน OpenMV 3 ผลลัพธ์ยังคงถูกต้องแต่แตกต่างเล็กน้อยจากเวอร์ชันก่อนหน้า; ตรวจสอบการเปรียบเทียบพิกเซลที่แม่นยำบน OpenMV 3 อีกครั้ง
Commits: 0e4b46e41
รายการตรวจสอบการย้าย¶
ตรวจสอบสคริปต์ที่ขึ้นอยู่กับพฤติกรรมเฉพาะเวอร์ชันของ MicroPython กับ 1.12 อีกครั้ง (การอัปเดต MicroPython), ปรับโค้ดที่เปรียบเทียบกับค่า get_histogram() / get_statistics() แบบสัมบูรณ์เมื่อใช้ค่าขีดแบ่งสี (การเปลี่ยนแปลงฮิสโตแกรม), และตรวจสอบการเปรียบเทียบพิกเซลที่แม่นยำบน OpenMV 3 อีกครั้ง (การเปลี่ยนแปลงผลลัพธ์ OpenMV 3) สคริปต์อื่น ๆ ทั้งหมดทำงานได้โดยไม่มีการเปลี่ยนแปลง