v3.6.3

v3.6.3 เปิดใช้งาน TensorFlow บน OpenMV 3 / F7, เพิ่มการรองรับโมเดล uint8/int8/float32, สลับเซนเซอร์ thermal MLX90640/AMG8833 ไปใช้ hardware I2C, เพิ่ม image-diff histogram และ lens-correction offset, และปรับปรุงการควบคุม readout ค่าคงที่ hint ของ image ถูกเปลี่ยนชื่อและการ scaling ของ draw_image() เปลี่ยนแปลง — อ่านการเปลี่ยนแปลงที่ส่งผลกระทบด้านล่าง

ไฮไลต์

  • TensorFlow บน OpenMV 3 / F7 — เปิดใช้งาน tf บนกล้องที่ใช้ F7 พร้อมรองรับโมเดล uint8/int8/float32

  • เซนเซอร์ thermal — MLX90640 และ AMG8833 สลับไปใช้ hardware I2C พร้อมไดรเวอร์ MLX90640 ใหม่

  • การประมวลผลภาพ — การรองรับ image-diff ใน get_histogram() และการแก้ไข offset สำหรับ lens_corr()

  • draw_image — alpha palettes ในโหมด grayscale และการควบคุม readout ที่ปรับปรุงใหม่

  • การเปลี่ยนแปลงที่ส่งผลกระทบ: ค่าคงที่ hint ของ image ถูกเปลี่ยนชื่อและการ scaling ติดลบของ draw_image() ถูกลบออก — ดูการเปลี่ยนแปลงที่ส่งผลกระทบ

ฟีเจอร์ใหม่

  • TensorFlow — เปิดใช้งาน tf บน OpenMV 3 / F7 และอัปเดต TensorFlow เพื่อรองรับโมเดล uint8 / int8 / float32

  • get_histogram() — เพิ่มความสามารถ image-diff

  • lens_corr() — เพิ่มการแก้ไข offset

  • draw_image() — alpha palettes ตอนนี้ทำงานในโหมด grayscale (ไม่ใช่ bilinear) พร้อม alpha palettes แบบ bilinear-interpolated และการจัดกึ่งกลางภาพ; โค้ดควบคุม readout ใหม่

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

  • สลับ MLX90640 และ AMG8833 ไปใช้ hardware I2C (ไดรเวอร์ MLX90640 ใหม่, HW I2C ของ board-config สำหรับเซนเซอร์ภายนอก, การลอง MLX readout ซ้ำมากขึ้น), เปิดใช้งาน I2C fast-mode-plus บนกล้องที่รองรับ, เพิ่ม cambus read/write-bytes พร้อม I2C timings, และข้ามการใช้ alpha เมื่อเป็น 0 เพื่อประสิทธิภาพ

การแก้ไขบัก

กล้องและการประมวลผลภาพ:

  • แก้ไขและเพิ่มความเร็วการแก้ไขการหมุน, บัก Bayer-to-YCbCr ที่ขอบซ้าย, และเพิ่มการแก้ไขขอบให้ bayer_to_y() / bayer_to_binary()

เครื่องมือ:

  • แก้ไขข้อผิดพลาด Python 2/3 และลำดับการเรียก get_statistics()

การเปลี่ยนแปลง API ที่ส่งผลกระทบ

การเปลี่ยนแปลง API ที่มองเห็นได้ระหว่าง v3.6.2 และ v3.6.3 ขอบเขต: Python C-modules ใน modules/ และไลบรารี Python ใน scripts/libraries/

การเปลี่ยนแปลงแต่ละอย่างถูกติดแท็กตามผลกระทบ:

  • minor — API แคบ; ส่งผลกระทบเฉพาะสคริปต์ที่ใช้งาน

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

การเปลี่ยนแปลงถูกจัดกลุ่มตามผลกระทบตามลำดับนั้น หากต้องการพอร์ตโค้ดเพียงอย่างเดียว ข้ามไปยัง รายการตรวจสอบการย้าย ที่ท้ายหน้า แต่ละ commit hash เชื่อมต่อไปยัง diff บน GitHub

ค่าคงที่ hint ของ image ถูกเปลี่ยนชื่อ (minor)

ค่าคงที่ hint การวาดของ image ถูกเปลี่ยนชื่อ: image.INTERPOLATE_BILINEARimage.IMAGE_HINT_BILINEAR และ image.IMAGE_CENTERimage.IMAGE_HINT_CENTER สคริปต์ที่ส่งชื่อค่าคงที่เก่าให้ draw_image() ต้องใช้ชื่อใหม่ (ชื่อเหล่านี้ถูกเปลี่ยนอีกครั้งเป็น image.BILINEAR / image.CENTER ใน v3.7.0)

Commits: 8f8872537

การ scaling ติดลบของ draw_image() ถูกลบออก (behavior)

image.draw_image() ไม่รองรับการ scaling ติดลบอีกต่อไป และจุดตัวอย่าง texture ถูกย้ายไปยังจุดกึ่งกลางของพิกเซล สคริปต์ที่พึ่งพาการ scaling ติดลบเพื่อพลิกภาพระหว่างการวาดต้องพลิกด้วยวิธีอื่น และ output อาจเลื่อนได้สูงสุดครึ่งพิกเซลเทียบกับเดิม

Commits: 7e83dbb92

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

เปลี่ยนชื่อ image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER เป็น image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER (การเปลี่ยนชื่อค่าคงที่ hint), และแทนที่การ scaling ติดลบของ draw_image() ด้วยการพลิกอย่างชัดเจน (การเปลี่ยนแปลง scaling ของ draw_image) สคริปต์อื่น ๆ ทั้งหมดทำงานได้โดยไม่มีการเปลี่ยนแปลง