v2.6.0¶
v2.6.0 memperbarui inti ke MicroPython 1.9.2, beralih find_line_segments() ke algoritma LSD, menambahkan dukungan sensor MT9V034 global-shutter, koreksi perspektif image.rotation_corr(), sensor.sleep(), penyimpanan citra mentah, dan persiapan papan OpenMV 4. find_line_segments(), beberapa ukuran bingkai, dan perilaku MicroPython berubah — baca perubahan yang merusak di bawah ini.
Sorotan¶
Pembaruan inti MicroPython 1.9.2.
Segmen garis LSD —
find_line_segments()kini menggunakan algoritma Line Segment Detector.Dukungan sensor global-shutter MT9V034.
image.rotation_corr()— koreksi rotasi perspektif X/Y/Z.Mode tidur halus
sensor.sleep()dan penyimpanan citra mentah (tidak terkompresi).Merusak: parameter
find_line_segments(), beberapa konstanta framesize, dan perilaku MicroPython berubah — lihat perubahan yang merusak.
Fitur baru¶
image.rotation_corr()— ditambahkan koreksi rotasi perspektif X/Y/Z dengan contohrotation_correction.py.sensor.sleep(enable)— memasukkan kamera ke mode tidur halus (dengan contoh mode tidur).Citra mentah —
image.save()kini dapat menulis citra mentah (tidak terkompresi).MT9V034 — ditambahkan dukungan sensor global-shutter, memunculkan konstanta
sensor.MT9V034.Ditambahkan contoh
lens_correction.pyuntukimage.lens_corr()dan file dukungan papan OpenMV 4 (konfigurasi papan / bootloader / persiapan linker).
Perubahan dan peningkatan lainnya¶
Memperbarui MicroPython bundel ke 1.9.2 (plumbing port 1.9, oofatfs); menulis ulang
find_line_segments.pyuntuk API LSD baru (koreksi lensa dinonaktifkan secara default); memperbarui APIopenmvsisi host (init(portname)/exec_script/stop_script); menurunkan clock sensor OpenMV Cam M4 (FPS maks lebih rendah di M4); tombol Stop IDE kini menggunakan pengecualian paksa keras untuk menginterupsi skrip dengan lebih andal.
Perbaikan bug¶
Memperbaiki
image.lens_corr()yang meninggalkan piksel basi (buffer tujuan kini dibersihkan sebelum remapping),blob.density()menggunakan pembagian integer (selalu mengembalikan 0, #268), pemetaan pin UART OpenMV 2 (M4), dan memperbaruiqrcodes_with_lens_corr.pyuntuk menggunakan QVGA.
Dukungan hardware dan papan¶
Sensor global-shutter MT9V034.
OpenMV 4 — file dukungan papan (persiapan).
OpenMV 2 (M4) — perbaikan pemetaan pin UART.
Perubahan API yang merusak¶
Perubahan API yang terlihat pengguna antara v2.5.0 dan v2.6.0. Cakupan: modul Python C di modules/ dan pustaka Python di scripts/libraries/.
Setiap perubahan diberi tag dampaknya:
major — memengaruhi sebagian besar skrip yang menggunakan fitur tersebut; Anda perlu melakukan porting kode.
minor — API sempit; 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 melakukan porting kode, lompat ke daftar periksa migrasi di akhir. Setiap hash commit menautkan ke diff-nya di GitHub.
find_line_segments() beralih ke LSD (major)¶
image.find_line_segments() ditulis ulang untuk menggunakan algoritma Line Segment Detector (LSD). Parameter lama threshold / theta_margin / rho_margin / segment_threshold / x_stride / y_stride diganti dengan merge_distance dan max_theta_diff (mis. find_line_segments(merge_distance=0, max_theta_diff=15)). Fungsi ini juga tidak lagi tersedia pada papan kelas M4 (OpenMV 2).
Konstanta framesize tidak valid dihapus (minor)¶
Konstanta framesize tidak valid sensor.QQQQCIF / QQQCIF / QQQQSIF / QQQSIF / HQQQQVGA / HVGA dihapus (#261). Skrip yang menggunakan ini harus beralih ke resolusi yang didukung.
Commit: 35ab0a26f
find_qrcodes() dihapus pada OpenMV Cam M4 (minor)¶
image.find_qrcodes() tidak lagi dikompilasi pada papan kelas M4 (OpenMV 2). Gunakan papan OpenMV 3 (M7) atau fitur kode lain untuk deteksi QR pada hardware M4. Papan lain tidak terpengaruh.
Commit: 7dff089e6
MicroPython diperbarui ke 1.9.2 (behavior)¶
Inti MicroPython bundel diperbarui ke 1.9.2. Perilaku pustaka standar dan bahasa mengikuti MicroPython upstream 1.9.2 — periksa ulang skrip yang bergantung pada perilaku spesifik versi. Khususnya, slice citra dengan langkah selain 1 kini menampilkan OSError alih-alih NotImplementedError.
Commit: 11bed4b99
Daftar periksa migrasi¶
Untuk porting bersih ke v2.6.0, pekerjaan tipikal adalah:
Tulis ulang pemanggilan
find_line_segments()untuk parameter LSD (merge_distance/max_theta_diff) dan pindahkan pemrosesan tersebut dari M4 (pembaruan LSD).Ganti konstanta framesize yang dihapus dengan resolusi yang didukung (penghapusan framesize).
Pindahkan deteksi kode QR M4 ke papan M7 (perubahan find_qrcodes).
Validasi ulang perilaku spesifik versi terhadap MicroPython 1.9.2 (peningkatan MicroPython).
Semua skrip lainnya berjalan tanpa perubahan.