v4.1.2

v4.1.2 เพิ่มรูปแบบพิกเซลขั้นสูงพร้อมการ debayering เต็มรูปแบบ, การประมวลผลภาพ YUV, โมดูล imu ใหม่ (LSM6DSOX), เสียงไมโครโฟนดิจิทัล DFSDM และรองรับ event-sensor FrogEye2020 พฤติกรรมของ erode()/dilate() และไลบรารี RPC สำหรับเดสก์ท็อปมีการเปลี่ยนแปลง — อ่านการเปลี่ยนแปลงที่ทำให้เกิดความเข้ากันไม่ได้ด้านล่าง

จุดเด่น

  • รูปแบบพิกเซลขั้นสูง พร้อมการรองรับ debayering เต็มรูปแบบ

  • การประมวลผลภาพ YUV

  • โมดูล imu ใหม่ — รองรับ LSM6DSOX (การปรับแนวแกนที่กำหนดค่าได้, MLC)

  • เสียง DFSDM — ไมโครโฟนดิจิทัล input

  • รองรับ event-sensor FrogEye2020

  • การเปลี่ยนแปลงสำคัญ: erode()/dilate() ตอนนี้ทำงานบนพิกเซลที่ไม่ใช่สีขาว และคลาส RPC สำหรับเดสก์ท็อปถูกเปลี่ยนชื่อ — ดูการเปลี่ยนแปลงที่ทำให้เกิดความเข้ากันไม่ได้

ฟีเจอร์ใหม่

  • รูปแบบพิกเซลขั้นสูง — การจัดการรูปแบบพิกเซลใหม่พร้อมการรองรับ debayering เต็มรูปแบบ (Bayer → RGB/grayscale ทุกรูปแบบ)

  • การประมวลผลภาพ YUV — เพิ่มการรองรับการประมวลผลภาพ YUV

  • โมดูล imu — โมดูล IMU ใหม่พร้อมไดรเวอร์ LSM6DSOX, การปรับแนวแกน IMU ที่กำหนดค่าได้ และรองรับ machine-learning-core (MLC)

  • เสียง — เพิ่มการรองรับไมโครโฟนดิจิทัล DFSDM ให้กับโมดูล audio

  • FrogEye2020 — ไดรเวอร์ event-sensor FrogEye2020 ใหม่ พร้อมสคริปต์ตัวอย่าง event-camera

การเปลี่ยนแปลงและการปรับปรุงอื่นๆ

  • การเข้ารหัส JPEG ด้วย software เร็วขึ้น ~10% (ปรับปรุงการจัดการบิต)

  • machine.I2C ตอนนี้ใช้อุปกรณ์ต่อพ่วง I2C ฮาร์ดแวร์บน STM32 H7

  • find_apriltags(), find_line_segments() และเส้นทาง input ของ TensorFlow ถูกย้ายไปยัง backend draw_image แบบรวม

การแก้ไขบั๊ก

  • แก้ไขสถานการณ์ overflow ของการเข้ารหัส JPEG ด้วย software, compress ของ image และการตรวจจับรูปแบบ IS_JPEG

ฮาร์ดแวร์และการรองรับบอร์ด

  • event sensor FrogEye2020

  • Arduino Nicla Vision (BORMIO) — อัปเดตการต่อสายและ USB VID/PID

  • Arduino Portenta H7 — นาฬิกาของเซนเซอร์เริ่มต้นตั้งเป็น 12 MHz

การเปลี่ยนแปลง API ที่ทำให้เกิดความเข้ากันไม่ได้

การเปลี่ยนแปลง API ที่มองเห็นได้โดยผู้ใช้ระหว่าง v4.1.1 และ v4.1.2 ขอบเขต: Python C-modules ใน modules/ และไลบรารี Python ใน scripts/libraries/

การเปลี่ยนแปลงแต่ละรายการมีป้ายกำกับระดับผลกระทบ:

  • minor — API แคบ; เฉพาะเครื่องมือฝั่ง host เท่านั้น

  • behavior — API เดิม ผลลัพธ์ต่างกัน; ตรวจสอบสคริปต์ที่ปรับแต่งแล้วอีกครั้ง

การเปลี่ยนแปลงจัดกลุ่มตามผลกระทบตามลำดับนั้น แต่ละ commit hash เชื่อมโยงไปยัง diff บน GitHub

คลาสไลบรารี Desktop RPC ถูกเปลี่ยนชื่อ (minor)

ในไลบรารี desktop RPC ฝั่ง host (tools/rpc/rpc.py), คลาส rpc_wifi_or_ethernet_master ถูกเปลี่ยนชื่อเป็น rpc_network_master และสคริปต์ host RTSP/RPC ถูกเปลี่ยนมาใช้ไลบรารีเครือข่ายมาตรฐาน สิ่งนี้มีผลกับโปรแกรม host-PC เท่านั้น สคริปต์บนกล้องไม่ได้รับผลกระทบ

Commits: a2f016ba0, a4858015c

erode() / dilate() ทำงานบนพิกเซลที่ไม่ใช่สีขาว (behavior)

Image.erode() และ Image.dilate() ได้รับการแก้ไขให้ทำงานบนพิกเซลที่ไม่ใช่สีขาวแทนที่จะเป็นแค่พิกเซลสีขาว ผลลัพธ์แตกต่างจากรุ่นก่อนสำหรับภาพที่ไม่ใช่ binary / ไม่ใช่สีขาวล้วน — ตรวจสอบ pipeline ประมวลผลภาพแบบ morphology ที่ปรับแต่งแล้วอีกครั้ง

Commit: 899f80759

รายการตรวจสอบการย้าย

สำหรับการพอร์ตที่สะอาดไปยัง v4.1.2: ในโปรแกรม RPC บน host-PC ให้เปลี่ยนชื่อ rpc_wifi_or_ethernet_master เป็น rpc_network_master (การเปลี่ยนชื่อ RPC) และตรวจสอบผลลัพธ์ erode() / dilate() บนภาพที่ไม่ใช่ binary อีกครั้ง (การเปลี่ยนแปลง morphology) สคริปต์บนกล้องอื่นทั้งหมดทำงานได้โดยไม่เปลี่ยนแปลง