v2.8.0¶
v2.8.0 devasa bir sürümdür. Donanım JPEG kodlayıcı ve H7 ADC/DAC içeren OpenMV Cam H7 (STM32H7) kartını ayağa kaldırır, büyük bir image API elden geçirmesi (çizim kalınlığı/dolgular, matematik/ikili işlemler, birçok yeni filtre, Otsu eşikleme), MicroPython iş parçacığı (threading) ve omv sürüm modülünü getirir. Python argüman ayrıştırma sırası kilitlendi ve image.mask_ellipse() kaldırıldı — aşağıdaki kırıcı değişiklikleri okuyun.
Öne çıkanlar¶
OpenMV Cam H7 — donanım JPEG kodlayıcı ve H7 ADC / DAC içeren yeni STM32H7 kartı.
imageelden geçirmesi — çizgi kalınlığı, şekil dolguları,draw_arrow()/draw_image(), tam matematik/ikili işlemler ve birçok yeni filtre.Otsu eşikleme —
histogram.get_threshold()ve birThresholdnesnesi.İş parçacığı (threading) — MicroPython
_threaddesteği.omvmodülü — sürüm / kart bilgisi.Kırıcı: Python konumsal argüman sırası artık katı ve
image.mask_ellipse()kaldırıldı — kırıcı değişikliklere bakın.
Yeni özellikler¶
OpenMV Cam H7 — donanım JPEG kodlayıcı, H7 ADC ve H7 DAC içeren STM32H7 kart desteği.
Çizim — çizgi
thickness, şekilfill(dikdörtgen / daire), metinscale/ kerning,draw_string()üzerinde birmono_spaceanahtar sözcüğü,image.draw_arrow()veimage.draw_image()(sprite / maske çizimi) eklendi.Matematik işlemleri —
add(),sub(),mul(),div(),min(),max(),difference(),blend(),replace()(hmirror/vflip/maskile birlikte) veremove_shadows()eklendi; temel işlemler artık tüm piksellere uygulanan bir skaler/renk değeri kabul ediyor.İkili / morfoloji — yeni bir ikili görüntü türü ve
binary(); çizgi işlemleri veerode()/dilate()maskeleri kabul ediyor;open()/close()/top_hat()/black_hat()eklendi.Filtreler —
cartoon,flood_fill,bilateral,laplacian,blur/gaussian_blurtakma adları ve uyarlamalı histogram eşitleme (histeq(adaptive=, clip_limit=, mask=)) eklendi.İstatistikler —
get_statistics()/get_histogram()bir renk eşik listesi veinvertkabul ediyor; Otsuhistogram.get_threshold()ve birThresholdnesnesi eklendi.CMSIS CNN — bir
cnn.pyörneğiyle birlikteimage.classify_object()eklendi (v3.0.0’dannmodülü tarafından yerini aldı).İş parçacığı (threading) — MicroPython
_threadmodülü etkinleştirildi.omvmodülü — sürüm bilgisi (version_string,arch,board_type,board_id) eklendi;machineI2C4 veri yolu ve matematik özel işlevleri (erf,gamma, …) etkinleştirildi; motor-shield örnekleri ve birçok yeni örnek betik eklendi.
Diğer değişiklikler ve iyileştirmeler¶
H7 sensör harici saati 48 MHz’e düşürüldü (daha iyi görüntü kalitesi, daha düşük FPS); düşük/yüksek JPEG kalitesi artık kart bazında yapılandırılabilir (ve H7 için ince ayarlanmış); kart başına
imlib_config.hözellik geçişlemesi eklendi (tüm görüntü işlevleri stok aygıt yazılımında (firmware) etkin kalır); paketlenen MicroPython güncellendi.
Hata düzeltmeleri¶
Görüntüleme:
Dosya uzantısı olmadan
image.save(), OV2640 / OV7725 / OV9650 / MT9V034 içingain_db/gain_db_ceilingeşlemesi,sharpen()işlevinde aşırı kazanç, morfolojik kenar gürültüsü, bir görüntü işleminde sıfıra bölme ve çok büyük bir filtre çekirdek boyutunda yığın taşması çökmesi (artık temiz bir hata) düzeltildi.
Sistem:
USB VCP arabelleği atomik bir bölümle korundu (seri bozulma, #313), Windows’ta USB bağlantısı düzeltildi, SD kart başarısız olursa dahili flash bellek dosya sistemini bağlama,
cpufreqset_frequency()PLLP değeri ve bir önyükleyici aygıt-yazılımı-flashleme hatası düzeltildi.
Donanım ve kart desteği¶
OpenMV Cam H7 (STM32H7) — donanım JPEG kodlayıcı ve H7 ADC / DAC içeren yeni kart.
machine— I2C4 veri yolu etkinleştirildi.
Kırıcı API değişiklikleri¶
v2.7.0 ile v2.8.0 arasındaki kullanıcıya görünür API kırılmaları. Kapsam: modules/ içindeki Python C-modülleri ve scripts/libraries/ içindeki Python kütüphaneleri.
Her iki kırıcı değişiklik de minor ve yalnızca ilgili özelliği kullanan betikleri etkiler. Her commit hash’i GitHub’daki diff’ine bağlanır.
Python konumsal argüman sırası artık katı (minor)¶
Python C-modülleri (image / sensor / fir / gif / lcd / mjpeg) genelinde argüman ayrıştırma artık konumsal argümanları anahtar sözcüklerden önce okuyor ve konumsal sırayı kilitliyor. Çizim metotlarındaki yeni anahtar sözcük argümanlarıyla birleştiğinde (draw_line() / draw_rectangle() / draw_circle() / draw_string() / draw_cross() / draw_keypoints() thickness / fill / scale / size kazanıyor), parametreleri konumsal olarak sıra dışı geçiren — veya yeni argümanlardan birinden sonra konumsal bir color geçiren — kodun anahtar sözcük argümanları veya belgelenen konumsal sırayı kullanması gerekir.
image.mask_ellipse() kaldırıldı (minor)¶
image.mask_ellipse() kaldırıldı. Onu çağıran betiklerin çağrıyı kaldırması veya bunun yerine açık bir ROI / maske görüntüsü kullanması gerekir.
Commit’ler: d7159fba3
Geçiş kontrol listesi¶
Argümanları anahtar sözcükle (veya belgelenen konumsal sırayla) geçirin, özellikle çizim metotlarında color (argüman-sırası değişikliği) ve image.mask_ellipse() çağrılarını kaldırın (mask_ellipse kaldırma). Diğer tüm betikler değişiklik olmadan çalışır.