v1.2.0¶
v1.2.0 adalah rilis besar fondasi yang membangun sebagian besar API pencitraan OpenMV klasik: metode gambar, operasi biner / morfologi, deskriptor titik kunci (FAST / FREAK / LBP), konversi warna dan image.statistics, I/O file BMP / PPM / JPEG, modul thermal lcd, mjpeg, gif, dan mlx, kamera OV7725, serta banyak kontrol sensor. Beberapa perilaku inti sensor berubah — baca perubahan yang melanggar di bawah ini.
Sorotan¶
API Gambar —
draw_line()/draw_rectangle()/draw_circle()/draw_string()/draw_cross()/draw_keypoints().Biner / morfologi —
binary(),invert(),and/or/xor/...,erode()/dilate()/morph(),negate()/difference().Titik kunci — deskriptor FAST / FREAK / LBP dengan
match_descriptor()/save_descriptor()/load_descriptor().Dukungan kamera OV7725;
image.statistics; I/O file BMP/PPM/JPEG.Melanggar: perilaku
sensor.reset(),sensor.snapshot(), dansensor.set_pixformat()berubah — lihat perubahan yang melanggar.
Fitur baru¶
Gambar — ditambahkan
image.draw_line()/draw_rectangle()/draw_circle()/draw_string()/draw_cross()/draw_keypoints()dengan argumen kata kunci (warna, ketebalan, …).Biner / morfologi — ditambahkan
image.binary(),invert(),and()/nand()/or()/nor()/xor()/xnor(),erode()/dilate()/morph(),negate()/difference(),pixels(),centroid(),orientation_radians()/orientation_degrees(), sertawidth()/height()/format().Titik kunci / deskriptor — ekstraksi titik kunci FAST melalui
find_keypoints(),match_descriptor()terpadu dansave_descriptor()/load_descriptor()untuk FREAK / LBP, ditambah Haar/LBP cascade wajah profil.Warna / statistik —
image.statisticsdan fungsi konversi warna (rgb_to_lab/lab_to_rgb/rgb_to_grayscale/grayscale_to_rgb).I/O File — muat dan simpan BMP / PPM (P2/P3/P5/P6) / JPEG (termasuk JPEG skala abu-abu dan subsampling chroma 4:2:0 / 4:2:2).
Modul — modul baru
lcd(perisai LCD),mjpeg(perekaman video),gifwarna (denganGif.loop()), dan modul kamera thermalmlx, masing-masing dengan skrip contoh.Sensor — ditambahkan
sensor.get_id()(+ konstanta PID OV9650/OV2640/OV7725),sensor.set_special_effect()(konstanta SDE_*),sensor.set_image_filter()(FILTER_BW / FILTER_SKIN), ukuran bingkaiHQVGA, danimage.set_pixel(x, y, …).WiFi — ditambahkan driver WiFi ATWINC1500 dan landasan BSP OpenMV 1/2, ditambah contoh BLE.
Perubahan dan peningkatan lainnya¶
Buffer bingkai kini dikompresi JPEG sebelum dialirkan ke OpenMV IDE (bandwidth lebih rendah); kompresi JPEG dilakukan di tempat; zoom H/V OV7725 memungkinkan penskalaan sewenang-wenang; deteksi wajah Haar yang lebih baik (lebih cepat) yang berjalan pada QVGA.
Perbaikan bug¶
Pencitraan:
Memperbaiki komputasi integral-image, kerusakan filter
median(), komputasi centroid, filter kulit RGB / hitam-putih pada input RGB, serta baca/tulis BMP/PPM skala abu-abu yang lebih cepat.
Sensor dan sistem:
Memperbaiki timer
pyb.Servo(Servo kini berfungsi), resolusi HQVGA, keandalan inisialisasi kartu SD, reinisialisasi penyimpanan setelah soft-reset, dan menjalankan ulang REPL saat tidak ada skrip.
Dukungan perangkat keras dan papan¶
Sensor kamera OV7725.
Perisai LCD (modul
lcd), kamera thermalmlx, dan landasan WiFi ATWINC1500.
Perubahan API yang melanggar¶
Perubahan API yang terlihat pengguna antara v1.1.0 dan v1.2.0. Cakupan: C-modul Python di modules/ dan pustaka Python di scripts/libraries/.
Ketiga perubahan yang melanggar adalah perubahan behavior pada fungsi inti sensor (API sama, perilaku berbeda) — periksa ulang skrip yang terpengaruh. Setiap hash commit menautkan ke diff-nya di GitHub. (Sebagian besar rilis ini adalah API baru yang dibangun dalam rentang v1.1→v1.2 dan bersifat tambahan, bukan melanggar.)
sensor.reset() tidak lagi menerapkan konfigurasi default (behavior)¶
sensor.reset() tidak lagi menerapkan konfigurasi default bawaan (pixformat / framesize / framerate / gain / kontras / kecerahan / saturasi). Skrip yang mengandalkan reset() untuk meninggalkan default yang dapat digunakan harus kini secara eksplisit memanggil sensor.set_pixformat() dan sensor.set_framesize() (dan pengaturan lainnya) setelah reset().
Commit: d1e782df3
sensor.snapshot() memunculkan pengecualian saat timeout (behavior)¶
sensor.snapshot() kini memunculkan RuntimeError("Sensor Timeout!!") saat sensor timeout alih-alih menggantung tanpa batas. Bungkus snapshot() dalam try / except RuntimeError jika Anda perlu menoleransi timeout.
Commit: e3f41d674
sensor.set_pixformat() memunculkan pengecualian pada format yang tidak didukung (behavior)¶
sensor.set_pixformat() kini memunculkan pengecualian saat diberi format piksel yang tidak didukung alih-alih mengembalikan False. Kode yang memeriksa nilai kembalian False harus menangkap pengecualian tersebut.
Commit: e0c5822c2
Daftar periksa migrasi¶
Untuk port bersih ke v1.2.0, pekerjaan umumnya adalah:
Setel secara eksplisit
sensor.set_pixformat()/sensor.set_framesize()setelahsensor.reset()(perubahan reset).Bungkus
sensor.snapshot()dalamtry/except RuntimeErrorjika Anda perlu menoleransi timeout sensor (perubahan snapshot).Tangkap pengecualian dari
sensor.set_pixformat()alih-alih memeriksaFalse(perubahan set_pixformat).
Semua skrip lainnya berjalan tanpa perubahan.