v2.6.0¶
v2.6.0, çekirdeği MicroPython 1.9.2 sürümüne günceller, find_line_segments() işlevini LSD algoritmasına geçirir, MT9V034 global-shutter sensör desteği, image.rotation_corr() perspektif düzeltmesi, sensor.sleep(), ham görüntü kaydetme ve OpenMV 4 kartı için temel altyapı ekler. find_line_segments(), birkaç framesize ve MicroPython davranışı değişti — aşağıdaki kırıcı değişiklikleri okuyun.
Öne çıkanlar¶
MicroPython 1.9.2 çekirdek güncellemesi.
LSD çizgi parçaları —
find_line_segments()artık Line Segment Detector algoritmasını kullanıyor.MT9V034 global-shutter sensör desteği.
image.rotation_corr()— X/Y/Z perspektif döndürme düzeltmesi.sensor.sleep()yumuşak uyku modu ve ham (sıkıştırılmamış) görüntü kaydetme.Kırıcı:
find_line_segments()parametreleri, birkaç framesize sabiti ve MicroPython davranışı değişti — kırıcı değişikliklere bakın.
Yeni özellikler¶
image.rotation_corr()— birrotation_correction.pyörneğiyle birlikte X/Y/Z perspektif döndürme düzeltmesi eklendi.sensor.sleep(enable)— kamerayı yumuşak uyku moduna alın (uyku modu örneğiyle birlikte).Ham görüntüler —
image.save()artık ham (sıkıştırılmamış) görüntüler yazabiliyor.MT9V034 —
sensor.MT9V034sabitini açığa çıkaran global-shutter sensör desteği eklendi.image.lens_corr()için birlens_correction.pyörneği ve OpenMV 4 kart destek dosyaları (kart yapılandırması / önyükleyici / bağlayıcı temel altyapısı) eklendi.
Diğer değişiklikler ve iyileştirmeler¶
Paketlenen MicroPython 1.9.2 sürümüne güncellendi (1.9 port altyapısı, oofatfs);
find_line_segments.pyyeni LSD API için yeniden yazıldı (lens düzeltmesi varsayılan olarak kapalı); ana bilgisayar tarafındakiopenmvAPI güncellendi (init(portname)/exec_script/stop_script); OpenMV Cam M4 sensör saati düşürüldü (M4’te daha düşük maksimum FPS); IDE Durdur düğmesi artık betikleri daha güvenilir bir şekilde kesmek için zorlanmış sert bir istisna kullanıyor.
Hata düzeltmeleri¶
image.lens_corr()işlevinin eski piksel bırakması (hedef arabellek artık yeniden eşleme öncesinde temizleniyor),blob.density()işlevinin tam sayı bölmesi kullanması (her zaman 0 döndürüyordu, #268), OpenMV 2 (M4) UART pin eşlemesi düzeltildi veqrcodes_with_lens_corr.pyQVGA kullanacak şekilde güncellendi.
Donanım ve kart desteği¶
MT9V034 global-shutter sensör.
OpenMV 4 — kart destek dosyaları (temel altyapı).
OpenMV 2 (M4) — UART pin eşleme düzeltmesi.
Kırıcı API değişiklikleri¶
v2.5.0 ile v2.6.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 değişiklik etkisine göre etiketlenmiştir:
major — özelliği kullanan çoğu betiği etkiler; kodu taşımanız gerekecek.
minor — dar kapsamlı API; yalnızca onu kullanan betikleri etkiler.
behavior — aynı API, farklı sonuçlar; ince ayarlı betikleri yeniden kontrol edin.
Değişiklikler bu sırayla etkiye göre gruplandırılmıştır. Sadece kodunuzu taşımak istiyorsanız, sonundaki geçiş kontrol listesine atlayın. Her commit hash’i GitHub’daki diff’ine bağlanır.
find_line_segments() LSD’ye geçti (major)¶
image.find_line_segments(), Line Segment Detector (LSD) algoritmasını kullanacak şekilde yeniden yazıldı. Eski threshold / theta_margin / rho_margin / segment_threshold / x_stride / y_stride parametreleri merge_distance ve max_theta_diff ile değiştirildi (ör. find_line_segments(merge_distance=0, max_theta_diff=15)). Ayrıca artık M4 sınıfı (OpenMV 2) kartlarda kullanılamıyor.
Geçersiz framesize sabitleri kaldırıldı (minor)¶
Geçersiz sensor.QQQQCIF / QQQCIF / QQQQSIF / QQQSIF / HQQQQVGA / HVGA framesize sabitleri kaldırıldı (#261). Bunları kullanan betiklerin desteklenen bir çözünürlüğe geçmesi gerekir.
Commit’ler: 35ab0a26f
find_qrcodes() OpenMV Cam M4’te kaldırıldı (minor)¶
image.find_qrcodes() artık M4 sınıfı (OpenMV 2) kartlarda derlenmiyor. M4 donanımında QR tespiti için bir OpenMV 3 (M7) kartı veya başka bir kod özelliği kullanın. Diğer kartlar etkilenmez.
Commit’ler: 7dff089e6
MicroPython 1.9.2 sürümüne güncellendi (behavior)¶
Paketlenen MicroPython çekirdeği 1.9.2 sürümüne güncellendi. Standart kütüphane ve dil davranışı üst akış MicroPython 1.9.2’yi izler — sürüme özgü davranışa bağımlı betikleri yeniden kontrol edin. Özellikle, adımı 1 dışında olan bir görüntü dilimi artık NotImplementedError yerine OSError yükseltiyor.
Commit’ler: 11bed4b99
Geçiş kontrol listesi¶
v2.6.0’a temiz bir geçiş için tipik iş şudur:
find_line_segments()çağrılarını LSD parametreleri (merge_distance/max_theta_diff) için yeniden yazın ve bu işlemeyi M4 dışına taşıyın (LSD yeniden çalışması).Kaldırılan framesize sabitlerini desteklenen bir çözünürlükle değiştirin (framesize kaldırma).
M4 QR-kod tespitini bir M7 kartına taşıyın (find_qrcodes değişikliği).
Sürüme özgü davranışı MicroPython 1.9.2’ye karşı yeniden doğrulayın (MicroPython yükseltmesi).
Diğer tüm betikler değişiklik olmadan çalışır.