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() — bir rotation_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ülerimage.save() artık ham (sıkıştırılmamış) görüntüler yazabiliyor.

  • MT9V034sensor.MT9V034 sabitini açığa çıkaran global-shutter sensör desteği eklendi.

  • image.lens_corr() için bir lens_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.py yeni LSD API için yeniden yazıldı (lens düzeltmesi varsayılan olarak kapalı); ana bilgisayar tarafındaki openmv API 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 ve qrcodes_with_lens_corr.py QVGA 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.

Commit’ler: 5a3153c8b, cbe2a4aeb

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:

  1. 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ı).

  2. Kaldırılan framesize sabitlerini desteklenen bir çözünürlükle değiştirin (framesize kaldırma).

  3. M4 QR-kod tespitini bir M7 kartına taşıyın (find_qrcodes değişikliği).

  4. 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.