v4.2.4

v4.2.4 ปรับปรุงการ handshake กับกล้องด้วยคำสั่ง get_state() เดียว เพิ่มความเร็วการแสดงผล framebuffer แบบสดโดยย้ายการคำนวณ JPEG focus-metric ออกจากเส้นทาง broadcast และเพิ่มการแสดงผลเฟรมแบบ raw ที่ไม่บีบอัดภายใต้เส้นทาง compressed pixformat รุ่นนี้ยังคงใช้ฐาน Qt Creator 10.0.1 และมาพร้อมเฟิร์มแวร์ OpenMV 4.5.9 ตัวอย่าง April-Tags ที่ฝังมาถูกเขียนใหม่สำหรับ API AprilTag ของเฟิร์มแวร์ใหม่ สคริปต์ผู้ใช้ที่เขียนตาม API เดิมอาจต้องอัปเดต

ไฮไลต์

  • การ handshake get_state() เดียว ดึงและสอบถามบัฟเฟอร์การพิมพ์และบัฟเฟอร์เฟรมของกล้องด้วยคำสั่งเดียวบนเฟิร์มแวร์ที่รองรับ แทนที่การสำรวจ getTxBuffer/frameSizeDump แยกกัน

  • การแสดงผล framebuffer แบบสดที่เร็วขึ้น โดยย้ายการคำนวณ JPEG focus-metric ที่ใช้ทรัพยากรมากออกจากเส้นทาง framebuffer broadcast ไปยังการอัปเดต histogram

  • เฟรม raw ที่ไม่บีบอัด (binary, grayscale8 และ RGB565) สามารถรับและแสดงผลภายใต้เส้นทาง compressed pixformat ได้แล้ว นอกเหนือจาก JPEG

  • เฟิร์มแวร์ที่ฝังมา 4.5.9 สำหรับบอร์ดที่รองรับทั้งหมด รวมถึงไบนารี UVC ที่รีเฟรชแล้ว

ฟีเจอร์ใหม่

  • ตัวดู framebuffer ตอนนี้สามารถรับและแสดงผลเฟรม raw ที่ไม่บีบอัด (binary, grayscale8 และ RGB565) ที่ส่งมาภายใต้เส้นทาง compressed pixformat ได้แล้ว นอกเหนือจาก JPEG โดย row stride แบบ binary จัดตำแหน่งตาม 4 ไบต์ (cba5f5dda)

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

  • IDE ตอนนี้ดึงและสอบถามบัฟเฟอร์การพิมพ์และบัฟเฟอร์เฟรมของกล้องโดยใช้คำสั่ง get_state() ใหม่เพียงคำสั่งเดียวบนเฟิร์มแวร์ที่รองรับ แทนที่การสำรวจ getTxBuffer/frameSizeDump แยกกัน ทำให้การ handshake เชื่อมต่อ/ตัดการเชื่อมต่อ/เริ่มต้นมีประสิทธิภาพมากขึ้น branch ที่ตรวจสอบเวอร์ชันจะเรียก getState() และส่งสัญญาณ getStateDone() ใหม่เมื่อ frame-size และ tx-buffer เสร็จสมบูรณ์ (ce137a7b6, 0cf969bfd)

  • การแสดงผล framebuffer แบบสดเร็วขึ้นเนื่องจากการคำนวณ JPEG focus-metric ถูกย้ายออกจาก broadcastUpdate() ไปยังการอัปเดต histogram ซึ่งตอนนี้รันบน pixmap ที่ย่อให้กว้าง 160px QCustomPlot replot ตอนนี้ใช้การ replot แบบ queued (9dbcd8875)

  • ตัวอย่าง AprilTag ที่ฝังมาทั้งหมด (find_apriltags, find_apriltags_3d_pose, find_apriltags_max_res, find_apriltags_w_lens_zoom, find_small_apriltags, ตัวอย่างการจำลอง pixy I2C/SPI/UART, modbus_apriltag, apriltag_tracking และตัวอย่าง RPC popular_features_as_the_remote_device) ถูกอัปเดตเป็น API AprilTag ของเฟิร์มแวร์ใหม่โดยใช้ property accessor และทำให้เรียบง่ายขึ้น ตัวอย่าง TensorFlow tf_object_detection.py ที่ฝังมาตอนนี้ตั้งค่าการครอบแบบ windowing 240x240 ผ่าน sensor.set_windowing((240, 240)) และตัวอย่าง Bluetooth BLE temperature (examples/10-Bluetooth/ble_temperature.py) ถูกลบออก (42a646b63)

การรองรับแพลตฟอร์มและเครื่องมือ

  • ฐาน Qt Creator: 10.0.1

  • เฟิร์มแวร์ OpenMV ที่ฝังมา: อัปเดต 4.5.8 -> 4.5.9 สำหรับบอร์ดที่รองรับทั้งหมด รวมถึง OPENMV2/3/4/4P/PT, OPENMV_RT1060 และ ARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE พร้อมไบนารี UVC ที่รีเฟรชแล้ว (42a646b63)

  • เวอร์ชัน OpenMV IDE: เพิ่ม 4.2.1 -> 4.2.4

การเปลี่ยนแปลงที่ส่งผลต่อการทำงานเดิม

ตัวอย่าง April-Tags ที่ฝังมาถูกเขียนใหม่สำหรับ API AprilTag ของเฟิร์มแวร์ใหม่: ตอนนี้ tag accessor เป็น property (tag.rect, tag.cx, tag.cy, tag.rotation, tag.id, tag.name) แทนที่จะเป็นการเรียกเมธอด ตัวอย่าง find_apriltags.py ที่ฝังมาตอนนี้สาธิตเฉพาะ family TAG36H11 เท่านั้น โค้ดการเลือก multi-family (TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT) และ helper family_name() ถูกลบออก สคริปต์ผู้ใช้ที่เขียนตาม API AprilTag แบบ method-call เดิมอาจต้องอัปเดตให้ตรงกับเฟิร์มแวร์ 4.5.9