v2.8.0¶
v2.8.0 adalah rilis besar-besaran. Rilis ini memperkenalkan OpenMV Cam H7 (STM32H7) dengan encoder JPEG berbasis hardware dan H7 ADC/DAC, perombakan besar API image (ketebalan/isian gambar, operasi matematika/biner, banyak filter baru, ambang batas Otsu), threading MicroPython, dan modul versi omv. Urutan penguraian argumen Python telah dikunci dan image.mask_ellipse() telah dihapus — baca perubahan yang tidak kompatibel di bawah.
Sorotan¶
OpenMV Cam H7 — papan STM32H7 baru dengan encoder JPEG berbasis hardware dan H7 ADC / DAC.
Perombakan
image— ketebalan garis, pengisian bentuk,draw_arrow()/draw_image(), operasi matematika/biner lengkap, dan banyak filter baru.Ambang batas Otsu —
histogram.get_threshold()dan objekThreshold.Threading — dukungan
_threadMicroPython.Modul
omv— info versi / board.Perubahan tidak kompatibel: urutan argumen posisional Python kini ketat dan
image.mask_ellipse()telah dihapus — lihat perubahan yang tidak kompatibel.
Fitur baru¶
OpenMV Cam H7 — dukungan papan STM32H7 dengan encoder JPEG berbasis hardware, H7 ADC, dan H7 DAC.
Menggambar — ditambahkan
thicknessgaris,fillbentuk (persegi panjang / lingkaran),scale/ kerning teks, kata kuncimono_spacepadadraw_string(),image.draw_arrow(), danimage.draw_image()(menggambar sprite / mask).Operasi matematika — ditambahkan
add(),sub(),mul(),div(),min(),max(),difference(),blend(),replace()(denganhmirror/vflip/mask), danremove_shadows(); operasi dasar kini menerima nilai skalar/warna yang diterapkan ke semua piksel.Biner / morfologi — tipe citra biner baru dan
binary(); operasi garis sertaerode()/dilate()menerima mask; ditambahkanopen()/close()/top_hat()/black_hat().Filter — ditambahkan
cartoon,flood_fill,bilateral,laplacian, aliasblur/gaussian_blur, dan pemerataan histogram adaptif (histeq(adaptive=, clip_limit=, mask=)).Statistik —
get_statistics()/get_histogram()menerima daftar ambang batas warna daninvert; ditambahkanhistogram.get_threshold()Otsu dan objekThreshold.CMSIS CNN — ditambahkan
image.classify_object()dengan contohcnn.py(digantikan oleh modulnndi v3.0.0).Threading — mengaktifkan modul
_threadMicroPython.Modul
omv— ditambahkan info versi (version_string,arch,board_type,board_id); mengaktifkan bus I2C4machinedan fungsi matematika khusus (erf,gamma, …); ditambahkan contoh motor-shield dan banyak skrip contoh baru.
Perubahan dan peningkatan lainnya¶
Clock eksternal sensor H7 diturunkan menjadi 48 MHz (kualitas citra lebih baik, FPS lebih rendah); kualitas JPEG rendah/tinggi kini dapat dikonfigurasi per board (dan disetel untuk H7); ditambahkan gating fitur
imlib_config.hper board (semua fungsi citra tetap aktif pada firmware standar); MicroPython bawaan diperbarui.
Perbaikan bug¶
Pencitraan:
Memperbaiki
image.save()tanpa ekstensi file, pemetaangain_db/gain_db_ceilinguntuk OV2640 / OV7725 / OV9650 / MT9V034, gain berlebih padasharpen(), noise tepi morfologi, pembagian dengan nol dalam operasi citra, dan crash stack-smash akibat ukuran kernel filter yang terlalu besar (kini menghasilkan error yang jelas).
Sistem:
Melindungi buffer USB VCP dengan bagian atomik (korupsi serial, #313), memperbaiki konektivitas USB di Windows, pemasangan filesystem flash internal jika kartu SD gagal, nilai PLLP
set_frequency()cpufreq, dan bug flashing firmware bootloader.
Dukungan hardware dan board¶
OpenMV Cam H7 (STM32H7) — papan baru dengan encoder JPEG berbasis hardware dan H7 ADC / DAC.
Modul
machine— mengaktifkan bus I2C4.
Perubahan API yang tidak kompatibel¶
Perubahan API yang terlihat pengguna antara v2.7.0 dan v2.8.0. Cakupan: modul C Python di modules/ dan pustaka Python di scripts/libraries/.
Kedua perubahan yang tidak kompatibel bersifat minor dan hanya memengaruhi skrip yang menggunakan fitur terkait. Setiap hash commit terhubung ke diff-nya di GitHub.
Urutan argumen posisional Python kini ketat (minor)¶
Penguraian argumen di seluruh modul C Python (image / sensor / fir / gif / lcd / mjpeg) kini membaca argumen posisional sebelum kata kunci dan mengunci urutan posisional. Dikombinasikan dengan argumen kata kunci baru pada metode menggambar (draw_line() / draw_rectangle() / draw_circle() / draw_string() / draw_cross() / draw_keypoints() yang mendapatkan thickness / fill / scale / size), kode yang meneruskan parameter di luar urutan posisional — atau meneruskan color posisional setelah salah satu argumen baru — harus menggunakan argumen kata kunci atau urutan posisional yang terdokumentasi.
image.mask_ellipse() dihapus (minor)¶
image.mask_ellipse() telah dihapus. Skrip yang memanggilnya harus menghapus panggilan tersebut atau menggunakan ROI eksplisit / citra mask sebagai gantinya.
Commit: d7159fba3
Daftar periksa migrasi¶
Teruskan argumen dengan kata kunci (atau dalam urutan posisional yang terdokumentasi), khususnya color pada metode menggambar (perubahan urutan argumen), dan hapus panggilan image.mask_ellipse() (penghapusan mask_ellipse). Semua skrip lainnya berjalan tanpa perubahan.