v4.5.3¶
v4.5.3 adalah rilis besar: autofokus OV5640, gambar garis anti-aliased, decoder hardware JPEG yang diintegrasikan ke mainline, peningkatan kemampuan besar pada i.MX RT (RT1060), dan serangkaian perbaikan kamera/ISP yang luas. Beberapa metode citra yang jarang digunakan telah dihapus dan beberapa API ISP/display telah berubah — baca perubahan yang merusak kompatibilitas di bawah.
Sorotan¶
Autofokus OV5640 — diaktifkan pada OpenMV 4 / 4 Plus / RT1060 (
sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS)), dengan contoh skrip.draw_line()anti-aliased dan decoder hardware JPEG STM32 yang diintegrasikan ke mainline (dekompresi JPEG lebih cepat).OpenMV RT1060 mendapatkan ulab, operasi ISP,
set_framerate()/set_frame_callback(), buffer bingkai yang jauh lebih besar, dan driver CAN.Merusak kompatibilitas:
Image.div()/cartoon()/mul()telah dihapus dan beberapa API ISP/display berubah — lihat perubahan yang merusak kompatibilitas.
Fitur baru¶
Autofokus OV5640 — firmware autofokus diaktifkan pada OPENMV4, OPENMV4P, dan OPENMV RT1060; picu dengan
sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS). Contoh07-Sensor-Control/autofocus.pybaru telah ditambahkan.Gambar garis anti-aliased —
draw_line()mendapat dukungan anti-aliasing.Kontroler display SPI kustom —
SPIDisplaykini menerima kata kuncicontroller=dan mengekspos hookbus_writeuntuk urutan init/perintah kustom.Peningkatan
Image.ccm()— kini menerima matriks 3x3 / 4x3 / 3x4 / 4x4 bertingkat dan array ulab (dengan baris offset per-channel opsional); ditambahkan contoh koreksi warna.Pengambilan JPEG i.MX RT — pengambilan
sensor.JPEGpada Arduino Portenta/Nicla Vision/Giga, ditambahset_framerate()danset_frame_callback()pada port mimxrt.Validasi model TFLite — model kini membawa hash urutan operator dan ukuran set operator.
WiFi — ditambahkan konstanta mode keamanan CYW43; skrip contoh kontrol board i.MX RT baru (Pin/ADC/CAN/I2C/PWM/SPI/UART/...).
Perubahan dan peningkatan lainnya¶
MicroPython diperbarui ke 1.22; CMSIS diperbarui ke 5.9.0.
Decoder hardware JPEG STM32 diintegrasikan ke mainline — dekompresi JPEG lebih cepat pada codec yang terintegrasi di chip.
Mengoptimalkan
Image.invert()/negate()dan operasi citra biner/matematika (intrinsik CMSIS).Pustaka
rpcdanvl53l1xdibuat portabel (menggunakanmachine/timesebagai penggantipyb), sehingga dapat berjalan pada port non-STM32.Memcpy buffer bingkai yang dipercepat dengan DMA pada OpenMV H7 / H7 Plus / Pro / Pure Thermal dan Arduino Giga / Nicla Vision / Portenta H7; STM32 kini memindai perangkat I2C sekali per pemindaian untuk boot yang lebih cepat.
Perbaikan bug¶
Kamera dan sensor:
Memperbaiki XCLK kamera STM32 ke duty cycle 50% yang sesungguhnya dan bug ketika frekuensi clock kamera diatur ke nol; memperbaiki crop+transpose Bayer, pergeseran warna YUV422, dan
set_windowing()pada port mimxrt.Memperbaiki probe chip-ID GC2145 dan hmirror/vflip pada pemasangan yang diputar; memperbaiki PAJ6100 pada RT1062 dan overflow buffer SPI PixArt PAJ7620/PAW3902.
Pemrosesan citra:
Memperbaiki kliping roi
find_rects(), pemotongan offset fraksionalmorph(), default contrast/brightnessimage.gamma(), offset A/Bget_threshold()pada RGB565, dan dekoding JPEG untuk dimensi yang bukan kelipatan 8.
Sistem dan pustaka:
machine.LED.value()tanpa argumen kini mengembalikan status LED alih-alih mengosongkannya; memperbaiki deinit SPI SSEL pada bus bersama,machine.deepsleep()pada RT1062, crash TF karena operator yang hilang, dan aktivasi otomatis NIC WINC1500/ninaw10 padaconnect().
Dukungan hardware dan board¶
OpenMV RT1060 — ulab dan operasi ISP diaktifkan, buffer bingkai lebih besar (10M→20M) / fb_alloc (2M→11M), driver CAN dipulihkan, heap lebih besar.
Arduino GIGA — dukungan kamera GC2145, dengan deteksi otomatis GC2145/OV5640 (keduanya berbagi alamat I2C).
i.MX RT — dukungan pengambilan
sensor.JPEG.
Perubahan API yang merusak kompatibilitas¶
Perubahan API yang terlihat pengguna antara v4.5.2 dan v4.5.3. Cakupan: modul C Python di modules/ dan pustaka Python di scripts/libraries/.
Setiap perubahan diberi tag sesuai dampaknya:
minor — API terbatas; hanya mempengaruhi 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, lompat ke daftar periksa migrasi di bagian akhir. Setiap hash commit menautkan ke diff-nya di GitHub.
Metode citra yang dihapus (minor)¶
Image.div(), Image.cartoon() (dan contohnya), dan Image.mul() telah dihapus.
API modul display (minor)¶
Fallback nama modul udisplay yang lama telah dihapus — modul hanya terdaftar sebagai display. Metode dsi_write() / dsi_read() khusus DSI digantikan oleh bus_write() / bus_read(), yang kini tersedia pada semua kontroler display.
Perubahan API MQTT dan tf.regression (minor)¶
MQTTClient pada pustaka mqtt telah dirombak: port kini wajib diisi, kata kunci konstruktor baru ssl_params / callback dan argumen timeout pada connect() ditambahkan, default lama ssl= / port=0 dihapus, dan check_msg() kini non-blocking. tf.regression() ditulis ulang — tanda tangannya kini regression(model, array) dan menangani model 1D/2D/3D dan terkuantisasi (int8).
Perubahan perilaku ISP / sensor (behavior)¶
Image.awb() dirombak — gray-world (default) vs white-patch (max=True) kini eksplisit, dan argumen max serta argumen gamma / contrast / brightness pada Image.gamma() kini hanya keyword (panggilan posisional harus diperbarui). Transpose citra kini dinonaktifkan untuk YUV422 (sebelumnya menghasilkan output yang salah) dan pergeseran warna YUV422 telah dikoreksi agar sesuai dengan Bayer. Jalur JPEG STM32 kini melempar error pada ketidaksesuaian geometri JPEG alih-alih menghasilkan citra yang rusak, dan mode AP WiFi kini menerapkan mode keamanan default pada port STM32 dan i.MX RT.
Commits: 36d5cecbd, 00500ccde, c1eeaefd6, 333fb2b5f, 55cab8733, c7d40f6af
Daftar periksa migrasi¶
Untuk migrasi bersih ke v4.5.3, pekerjaan umum yang perlu dilakukan:
Berhenti menggunakan
Image.div()/cartoon()/mul()(metode yang dihapus).Impor modul display sebagai
displaydan gantidsi_write/dsi_readmenjadibus_write/bus_read(perubahan API display).Perbarui konstruksi
MQTTClient(portwajib;ssl_params/callback) dan semua panggilantf.regression()(perubahan API pustaka).Teruskan
awb()maxdangamma()gamma/contrast/brightnesssebagai argumen keyword, dan periksa ulang asumsi YUV422/transpose dan keamanan mode AP (perubahan ISP/sensor).