v3.6.1¶
v3.6.1 adalah rilis besar. Rilis ini memperkenalkan modul imu (LSM6DS3), serangkaian API getter sensor baru dengan rotasi otomatis berbasis IMU, koreksi perspektif 4-titik rotation_corr(), dan menghadirkan Arduino Portenta H7 dengan kamera HIMAX HM01B0 dan OV7690. Beberapa API sensor / image berubah dan TensorFlow dihapus pada M7 — baca perubahan yang merusak di bawah ini.
Sorotan¶
Modul
imu— akselerometer / giroskop / suhu / roll / pitch pada LSM6DS3 (OpenMV 4 / Portenta).Getter sensor + rotasi otomatis —
get_pixformat()/get_framesize()/get_hmirror()/get_vflip()/get_windowing(),set_transpose()/set_auto_rotation(), dan rotasi snapshot berbasis IMU.Koreksi perspektif —
rotation_corr()mendapat kata kuncifovdancorners(4-titik).Perangkat keras baru — Arduino Portenta H7, HIMAX HM01B0, dan kamera OV7690.
Perubahan merusak:
set_pixformat()/set_framesize()sekarang mengembalikanNone,sensor.set_framerate()dihapus, TensorFlow dihapus pada M7, danlens_corr()/linpolar()kini memerlukan dimensi genap — lihat perubahan yang merusak.
Fitur baru¶
imu— modul IMU baru:imu.acceleration_mg(),imu.angular_rate_mdps(),imu.temperature_c(),imu.roll(),imu.pitch(), danimu.sleep()(LSM6DS3 pada OpenMV 4 / Portenta).Getter sensor — ditambahkan
sensor.get_pixformat(),get_framesize(),get_hmirror(),get_vflip(),get_windowing(),set_transpose()/get_transpose(), danset_auto_rotation()/get_auto_rotation().Rotasi otomatis —
sensor.snapshot()menggunakan IMU untuk membalik / mencerminkan / mentransposisi bingkai saat rotasi otomatis diaktifkan.rotation_corr()— ditambahkan kata kuncifovdancorners(perspektif 4-titik), beserta contoh koreksi perspektif.lcd.init()— ditambahkan argumen kata kuncibgr.collections.deque— diaktifkan dalam build MicroPython.Ditambahkan konstanta id
sensor.OV7690dansensor.HM01B0serta contoh filter citraulabbergaya numpy.
Perubahan dan peningkatan lainnya¶
Filter citra (median / mode / mean / …) dan
find_circles()serta koreksi lensa dioptimalkan secara signifikan;alloc_extra_fbkini dapat mengalokasikan jumlah byte berapa pun; model deteksi orang dibangun ulang dengan operasi average-pool baru.
Perbaikan bug¶
Kamera dan sensor:
Memperbaiki
sleep()OV2640 (kini menggunakan register standby COM2 alih-alih pin power-down), konfigurasi pin FSYNC, polaritas HSYNC/VSYNC dan alamat/pemindaian I2C HM01B0, GPIO power-down sensor Portenta dan pin reset kamera, serta menonaktifkan rotasi otomatis saat pitch IMU mendekati 90°/270°.
Pencitraan dan sistem:
Memperbaiki bug pemeriksaan batas filter citra, hardfault saat menonaktifkan D-cache, booting pada papan tanpa kartu SD, bug
load_to_fbpadatf.load(), stack overflow deteksi orang (stack H7 dinaikkan menjadi ≥12 KB), dan offset deskriptor USB untuk mode kecepatan tinggi pada OpenMV 4 Plus.
Dukungan perangkat keras dan papan¶
Arduino Portenta H7 — bring-up papan awal (konfigurasi clock/OSC/HSE STM32H747, header CMSIS, ADC, SDRAM, Arduino USB PID).
HIMAX HM01B0 — driver kamera monokrom baru (Bayer, clock osilator eksternal).
OV7690 — driver kamera baru.
IMU LSM6DS3 — OpenMV 4 / Portenta.
Perubahan API yang merusak¶
Perubahan API yang terlihat pengguna antara v3.6.0 dan v3.6.1. Cakupan: modul C Python di modules/ dan pustaka Python di scripts/libraries/.
Setiap perubahan ditandai dengan dampaknya:
minor — API terbatas; hanya memengaruhi skrip yang menggunakannya.
behavior — API sama, hasil berbeda; periksa ulang skrip yang telah disetel.
Perubahan dikelompokkan berdasarkan dampak dalam urutan tersebut. Jika Anda hanya ingin memindahkan kode, langsung ke daftar periksa migrasi di bagian akhir. Setiap hash commit tertaut ke diff-nya di GitHub.
sensor.set_framerate() dihapus (minor)¶
Stub sensor.set_framerate() yang tidak melakukan apa-apa telah dihapus; memanggilnya kini akan menghasilkan AttributeError. Hapus pemanggilan tersebut dan kendalikan timing bingkai melalui framesize/exposure. (set_framerate() yang berfungsi diperkenalkan kembali di v4.0.2.)
Commits: 705e98f91
TensorFlow dihapus pada OpenMV Cam M7 (minor)¶
TensorFlow (modul tf) dinonaktifkan pada OpenMV Cam M7 / OpenMV 3 (tidak lagi muat). import tf pada M7 akan gagal — gunakan kamera kelas H7 untuk TensorFlow. (tf diaktifkan kembali pada F7 di v3.6.3.)
Commits: 2ae875077
set_pixformat() / set_framesize() mengembalikan None (behavior)¶
sensor.set_pixformat() dan sensor.set_framesize() kini mengembalikan None alih-alih True, dan format piksel yang tidak didukung kini menghasilkan ValueError alih-alih assertion. Kode yang memeriksa nilai kembalian (misalnya if sensor.set_pixformat(...):) harus berhenti melakukannya, dan kode yang menangkap AssertionError untuk format yang tidak didukung harus menangkap ValueError.
Commits: f314ac4e7
lens_corr() / linpolar() / logpolar() memerlukan dimensi genap (behavior)¶
image.lens_corr() dan image.linpolar() / image.logpolar() kini memerlukan lebar dan tinggi citra yang genap dan akan menghasilkan error pada dimensi ganjil. Potong atau ubah ukuran citra ke dimensi genap sebelum memanggil metode ini.
Daftar periksa migrasi¶
Untuk migrasi bersih ke v3.6.1, pekerjaan yang umum dilakukan adalah:
Hapus pemanggilan
sensor.set_framerate()(penghapusan set_framerate).Pindahkan beban kerja TensorFlow dari OpenMV Cam M7 (perubahan TensorFlow M7).
Berhenti mengandalkan nilai kembalian dari
set_pixformat()/set_framesize()dan tangkapValueErroruntuk format piksel yang tidak didukung (perubahan nilai kembalian).Pastikan dimensi citra genap sebelum memanggil
lens_corr()/linpolar()/logpolar()(persyaratan dimensi genap).
Semua skrip lainnya berjalan tanpa perubahan.