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-Detectionfreak.pyถูกลบออกและแทนที่ด้วยkeypoints.py