v1.4.0

v1.4.0 แนะนำเครื่องมือ Machine Vision ใหม่สองชิ้น ได้แก่ Threshold Editor และ Keypoints Editor พร้อมกับการจัดระเบียบสคริปต์ตัวอย่างที่รวมมาและ OpenMV เฟิร์มแวร์ 2.1.0 ที่รวมมาอย่างมีนัยสำคัญ ยังคงใช้ฐาน Qt Creator 4.0.2 รุ่นนี้เปลี่ยน keyboard shortcut หลายตัวและเปลี่ยนชื่อหรือลบสคริปต์ตัวอย่างบางส่วน ดู Breaking changes

Highlights

  • Threshold Editor เพิ่มใน Tools > Machine Vision: โหลดภาพจากบัฟเฟอร์เฟรมหรือไฟล์ แสดงตัวอย่าง binary แบบสดพร้อม slider min/max ระดับสีเทาหรือ LAB ที่ปรับได้บวกกับ invert และแสดงผล threshold tuple สำหรับใช้ในสคริปต์

  • Keypoints Editor เพิ่มใน Tools > Machine Vision: แสดง keypoints ORB/LBP บนภาพต้นฉบับและให้คุณเลือกและลบ keypoints ที่ผิดปกติ เปลี่ยน octave และแก้ไขหรือรวมไฟล์ keypoint

  • ตัวอย่างที่จัดระเบียบใหม่: ตัวอย่าง Board-Control Arduino I2C/SPI slave ใหม่ ตัวอย่าง ORB keypoints ใหม่ ตัวอย่างการแก้ไขเลนส์ QR-code และชุด Color-Tracking ที่เขียนใหม่

  • OpenMV firmware ที่รวมมาอัปเดตเป็น 2.1.0 โดยเปลี่ยน board target STM32F7 จาก OMV7 เป็น OMV3

  • Keyboard shortcuts เพิ่ม: Ctrl+E สำหรับ Connect/Disconnect และ Ctrl+R สำหรับ Stop (ย้ายจาก Ctrl+T)

New features

  • Threshold Editor (Tools > Machine Vision) โหลดภาพจากบัฟเฟอร์เฟรมหรือไฟล์และแสดงตัวอย่าง binary แบบสดพร้อม slider min/max ระดับสีเทาหรือ LAB ที่ปรับได้บวกกับ invert โดยแสดงผล threshold tuple สำหรับใช้ในสคริปต์ (fd100a5c3)

  • Keypoints Editor (Tools > Machine Vision) แสดง keypoints ORB/LBP บนภาพต้นฉบับ ให้คุณเลือกและลบ keypoints ที่ผิดปกติด้วยเมาส์และปุ่ม Delete เปลี่ยน octave ผ่าน slider และแก้ไขหรือรวมไฟล์ keypoint (4549227fc, f6ee10595, 0e046f51a)

  • หลังการตรวจสอบว่าเฟิร์มแวร์เป็นปัจจุบัน IDE จะเสนอให้ reset OpenMV Cam กลับไปใช้เฟิร์มแวร์รุ่นที่รวมมา โดยมีตัวเลือกลบ internal filesystem (e7803d33c)

  • สคริปต์ตัวอย่างจัดระเบียบใหม่: ตัวอย่าง Board-Control Arduino I2C/SPI slave ใหม่ ตัวอย่าง ORB keypoints ใหม่ (keypoints.py/keypoints_save.py) แทน freak.py ตัวอย่างการแก้ไขเลนส์/ซูม QR-code และชุด Color-Tracking ที่เขียนใหม่ (การติดตามสีระดับสีเทา/RGB565 อัตโนมัติ การติดตาม IR-beacon การติดตาม blob สีเดียว/หลายสี และ color-code ข้อมูลฮิสโตแกรม/สถิติภาพ การติดตามเส้น) (e7803d33c)

Other changes and improvements

  • ขณะนี้ Keypoints Editor สำรองไฟล์ keypoint และภาพต้นฉบับ (.bak) ก่อนเขียนทับเมื่อบันทึก (fd100a5c3)

  • Connect และ Disconnect ขณะนี้ผูกกับ Ctrl+E และ Stop (หยุดสคริปต์) ย้ายจาก Ctrl+T เป็น Ctrl+R (e7803d33c)

  • endpoint เครือข่าย IDE ถูกเปลี่ยนไปใช้ host openmv.io ใหม่: forums เป็น forums.openmv.io และหน้า download เป็น openmv.io/pages/download (e7803d33c) และการดาวน์โหลด version-check, resources-version และ resources-zip เป็น upload.openmv.io (e899abcca)

Bug fixes

  • การแฟลชเฟิร์มแวร์ผ่าน DFU (DfuSeCommand บน Windows, pydfu บนแพลตฟอร์มอื่น) ขณะนี้ลองใหม่ได้สูงสุด 10 ครั้งแทนที่จะล้มเหลวในครั้งแรก ทำให้การอัปเดต bootloader/DFU มีความน่าเชื่อถือมากขึ้น (e7803d33c)

  • การบันทึกสคริปต์ untitled/ใหม่ขณะนี้เปิด Save As อย่างถูกต้อง และหลังบันทึก display name ของ editor จะถูกล้างเพื่อไม่ให้ชื่อแท็บเก็บชื่อ placeholder ชั่วคราว _$ ไว้ (e7803d33c)

  • เพิ่มการตรวจสอบ sanity ที่ปฏิเสธหมายเลขเวอร์ชันเฟิร์มแวร์ที่ไม่สมเหตุสมผล (นอกช่วง 0..100) และเชื่อมต่อใหม่แทนที่จะดำเนินการต่อ (2320ab299)

  • แก้ไข drive-association prompt เพื่อให้การเชื่อมต่อใหม่แบบ silent เลือก drive แรกโดยอัตโนมัติแทนที่จะระงับการเลือกอย่างผิดพลาด (4fda9a7d6, e7803d33c)

  • แก้ไขการแสดงผลภาพบัฟเฟอร์เฟรมแบบ binary (1bpp) โดย align แต่ละแถวเป็น 32 บิตแทน 8 บิต เพื่อให้ภาพ binary ที่สตรีมจาก OpenMV Cam แสดงผลถูกต้องแทนที่จะมีแถวที่เสียหาย/เยื้องผิดตำแหน่ง (e7803d33c)

Platform and tool support

  • Qt Creator base: 4.0.2.

  • Bundled OpenMV firmware: อัปเดตจาก 2.0.0 เป็น 2.1.0 (f6ee10595)

  • STM32F7 board target: เปลี่ยนจาก OMV7 (STM32F769) เป็น OMV3 (STM32F765/512) พร้อมไบนารี bootloader/firmware ใหม่สำหรับทั้ง OMV2 และ OMV3 (f6ee10595)

  • Linux udev rules: กฎ OpenMV Cam และ DFU device ขณะนี้ตั้ง MTP_NO_PROBE=1 เพื่อหยุดไม่ให้ desktop ตรวจสอบ device ว่าเป็น MTP device (e7803d33c)

Breaking changes

การเปลี่ยนแปลง workflow ที่ผู้ใช้มองเห็นได้ระหว่าง v1.3.x และ v1.4.0:

  • Keyboard shortcuts เปลี่ยน: Stop (หยุดสคริปต์) ย้ายจาก Ctrl+T เป็น Ctrl+R และ Connect/Disconnect ขณะนี้ผูกกับ Ctrl+E

  • สคริปต์ตัวอย่างเปลี่ยนชื่อ/ลบออก: ตัวอย่าง Color-Tracking หลายรายการถูกเปลี่ยนชื่อหรือลบออก (เช่น blob_detection.py, marker_tracking.py) และตัวอย่าง Feature-Detection freak.py ถูกลบออกและแทนที่ด้วย keypoints.py