v2.5.0

v2.5.0 özellik açısından zengin bir görüntüleme sürümüdür: find_rects(), find_circles(), get_regression() (çizgi/regresyon uydurma), find_number() (LeNet rakamları), ImageWriter / ImageReader akış sınıfları, sensor.flush() / width() / height() ve pyb.RTC desteği ekler. Görüntü yükleme artık çerçeve arabelleği (frame buffer) destekli — aşağıdaki bozucu değişiklikleri okuyun.

Öne çıkanlar

  • image.find_rects() — köşe çıkışlı dikdörtgen / dörtgen dedektörü.

  • image.find_circles() — Hough çember tespiti.

  • image.get_regression() — en küçük kareler ve sağlam (Theil-Sen) çizgi uydurma.

  • image.find_number() — LeNet rakam tanıma.

  • ImageWriter / ImageReader — görüntü akışlarını kaydedin ve yeniden oynatın.

  • pyb.RTC desteği, ayrıca sensor.flush() / sensor.width() / sensor.height().

  • Bozucu: görüntü yükleme artık çerçeve arabelleği (frame buffer) destekli ve görüntü çok büyükse hata verir — bozucu değişikliklere bakın.

Yeni özellikler

  • Öznitelik tespitiimage.find_rects() (AprilTag dörtgen dedektörü; x / y / w / h / corners / magnitude içeren dikdörtgen nesneleri), image.find_circles() (Hough), image.get_regression() (en küçük kareler + Theil-Sen sağlam çizgi uydurma) ve image.find_number() (LeNet rakam tanıma) eklendi, her biri örnek betiklerle birlikte.

  • Sonuç köşeleri — QR kodu / AprilTag / veri matrisi / barkod sonuç nesnelerine bir corners özniteliği eklendi.

  • Görüntü akışlarıimage_writer.py / image_reader.py örnekleriyle birlikte image.ImageWriter / image.ImageReader sınıfları (16 baytlık hizalanmış parça formatı) eklendi.

  • Sensörsensor.flush() (anlık görüntü olmadan çerçeve arabelleğini IDE’ye gönderir) ve sensor.width() / sensor.height() eklendi.

  • pyb.RTC — bir rtc.py örneğiyle RTC desteği etkinleştirildi.

  • Bir kedi yüzü Haar cascade ve bir Servo-Shield (PCA9685) örneği eklendi; openmv-cascade.py ana makine aracı yeni OpenCV XML cascade formatı için destek kazandı.

Diğer değişiklikler ve iyileştirmeler

  • Çerçeve arabelleği yeniden düzenlendi, böylece copy_to_fb görüntü metotları IDE önizlemesini günceller; HaarCascade() yolları artık baştaki bir / gerektirmez (yerleşik mi yoksa dosya mı olduğu otomatik tespit edilir); GIF/MJPEG kaydı artık VGA’yı (ve BAYER GIF’lerini) destekler; yerleşik README.txt güncellendi ve openmv.inf sürücü dosyası artık yeni bir dosya sisteminde oluşturulmuyor.

Hata düzeltmeleri

Görüntüleme:

  • find_circles() oy biriktirme, bir ROI ile get_regression() rho ofseti ve bir bellek sızıntısı, find_lines() parça birleştirme, find_blobs() açı ortalaması ve varsayılan (en az kısıtlayıcı) renk sınırları, ORB anahtar nokta sıralama kararlılığı / tanımlayıcı sıralaması ve eşleşti bayrağı ile Haar cascade arabellekli yükleme (hizalanmamış okumalar) düzeltildi.

Sistem:

  • pyb Servo 3 (P9) etkinleştirildi (#256), RTC başlatma düzeltildi, UART karakter zaman aşımı artırıldı (#240) ve başlatılmamış sensör çerçeve arabelleği “etkin” bayrağı düzeltildi.

Donanım ve kart desteği

  • pyb.RTC desteği ve pyb Servo 3 (P9); Servo-Shield (PCA9685) örneği.

Bozucu API değişiklikleri

v2.4.1 ile v2.5.0 arasındaki kullanıcıya görünür API bozulmaları. Kapsam: modules/ içindeki Python C modülleri ve scripts/libraries/ içindeki Python kütüphaneleri.

Bozucu değişiklik bir davranış değişikliğidir (aynı API, farklı sonuç) — etkilenen betikleri yeniden kontrol edin. Her commit hash’i, GitHub üzerindeki diff’ine bağlanır.

Görüntü yükleme çerçeve arabelleği destekli (davranış)

image.Image / görüntü yükleme artık yüklenen görüntüyü ana çerçeve arabelleğine kopyalar ve görüntü sığamayacak kadar büyükse bir istisna fırlatır. Önceden bir yığın (heap) arabelleğine başarılı olan yüklemeler artık başarısız olabilir — yüklenen görüntülerin çerçeve arabelleğine sığdığından emin olun (veya yeni hatayı ele alın).

Commit’ler: 87d53385a

Taşıma kontrol listesi

Önceden yığın (heap) destekli görüntü yüklemelerine dayandığınız yerlerde, yüklenen görüntülerin çerçeve arabelleğine sığdığından emin olun (veya yeni “görüntü çok büyük” hatasını yakalayın) (görüntü yükleme değişikliği). Diğer tüm betikler değişmeden çalışır.