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.