v4.5.3¶
v4.5.3 büyük bir sürümdür: OV5640 otomatik odaklama, kenar yumuşatmalı çizgi çizimi, ana kod hattına alınmış bir donanımsal JPEG kod çözücü, büyük i.MX RT (RT1060) yetenek kazanımları ve geniş bir kamera/ISP düzeltmeleri kümesi. Nadiren kullanılan birkaç görüntü yöntemi kaldırıldı ve bazı ISP/ekran API’leri değişti — aşağıdaki uyumluluğu bozan değişiklikleri okuyun.
Öne çıkanlar¶
OV5640 otomatik odaklama — OpenMV 4 / 4 Plus / RT1060 üzerinde etkinleştirildi (
sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS)), bir örnekle birlikte.Kenar yumuşatmalı
draw_line()ve ana kod hattına alınmış bir STM32 donanımsal JPEG kod çözücü (daha hızlı JPEG çözme).OpenMV RT1060 ulab, ISP işlemleri,
set_framerate()/set_frame_callback(), çok daha büyük bir çerçeve arabelleği (frame buffer) ve CAN sürücüsü kazandı.Uyumluluğu bozan:
Image.div()/cartoon()/mul()kaldırıldı ve bazı ISP/ekran API’leri değişti — uyumluluğu bozan değişikliklere bakın.
Yeni özellikler¶
OV5640 otomatik odaklama — otomatik odaklama aygıt yazılımı (firmware) OPENMV4, OPENMV4P ve OPENMV RT1060 üzerinde etkinleştirildi;
sensor.ioctl(sensor.IOCTL_TRIGGER_AUTO_FOCUS)ile tetikleyin. Yeni bir07-Sensor-Control/autofocus.pyörneği eklendi.Kenar yumuşatmalı çizgi çizimi —
draw_line()kenar yumuşatma kazandı.Özel SPI ekran denetleyicileri —
SPIDisplayartık bircontroller=anahtar sözcüğünü kabul ediyor ve özel başlatma/komut dizileri için birbus_writekancası sunuyor.Image.ccm()yükseltmesi — artık iç içe 3x3 / 4x3 / 3x4 / 4x4 matrisleri ve ulab dizilerini kabul ediyor (isteğe bağlı kanal başına ofset satırıyla); bir renk düzeltme örneği eklendi.i.MX RT JPEG yakalama — Arduino Portenta/Nicla Vision/Giga üzerinde
sensor.JPEGyakalama, ayrıca mimxrt portu üzerindeset_framerate()veset_frame_callback().TFLite model doğrulaması — modeller artık bir operatör sıralama özeti (hash) ve operatör kümesi boyutu taşıyor.
WiFi — CYW43 güvenlik modu sabitleri eklendi; yeni i.MX RT kart denetimi örnek betikleri (Pin/ADC/CAN/I2C/PWM/SPI/UART/…).
Diğer değişiklikler ve iyileştirmeler¶
MicroPython 1.22’ye güncellendi; CMSIS 5.9.0’a güncellendi.
Ana kod hattına alınmış STM32 donanımsal JPEG kod çözücü — çip üzerindeki kodlayıcıda daha hızlı JPEG çözme.
Image.invert()/negate()ve ikili/matematiksel görüntü işlemleri optimize edildi (CMSIS intrinsics).rpcvevl53l1xkitaplıkları taşınabilir hale getirildi (pybyerinemachine/timekullanılıyor), böylece STM32 dışındaki portlarda da çalışıyorlar.OpenMV H7 / H7 Plus / Pro / Pure Thermal ve Arduino Giga / Nicla Vision / Portenta H7 üzerinde DMA hızlandırmalı çerçeve arabelleği (frame buffer) memcpy; STM32 artık daha hızlı önyükleme için tarama başına I2C aygıtlarını bir kez tarıyor.
Hata düzeltmeleri¶
Kamera ve sensörler:
STM32 kamera XCLK gerçek %50 görev döngüsüne sabitlendi ve kamera saat frekansı sıfıra ayarlandığında oluşan bir hata düzeltildi; Bayer kırpma+devrik, YUV422 renk kayması ve mimxrt portunda
set_windowing()düzeltildi.GC2145 çip kimliği yoklaması ve döndürülmüş montajlarda hmirror/vflip düzeltildi; RT1062 üzerinde PAJ6100 ve bir PixArt PAJ7620/PAW3902 SPI arabellek taşması düzeltildi.
Görüntü işleme:
find_rects()roi kırpması,morph()kesirli ofset kırpması,image.gamma()kontrast/parlaklık varsayılanları, RGB565 üzerindeget_threshold()A/B ofsetleri ve boyutları 8’in katı olmayan JPEG çözme düzeltildi.
Sistem ve kitaplıklar:
Argümansız
machine.LED.value()artık LED durumunu temizlemek yerine onu döndürüyor; paylaşımlı bir veri yolunda SPI SSEL deinit, RT1062 üzerindemachine.deepsleep(), eksik operatörlerde bir TF çökmesi veconnect()üzerinde WINC1500/ninaw10 NIC otomatik etkinleştirmesi düzeltildi.
Donanım ve kart desteği¶
OpenMV RT1060 — ulab ve ISP işlemleri etkinleştirildi, daha büyük çerçeve arabelleği (frame buffer) (10M→20M) / fb_alloc (2M→11M), CAN sürücüsü geri getirildi, daha fazla yığın belleği (heap).
Arduino GIGA — GC2145 kamera desteği, GC2145/OV5640 otomatik algılamasıyla (aynı I2C adresini paylaşıyorlar).
i.MX RT —
sensor.JPEGyakalama desteği.
Uyumluluğu bozan API değişiklikleri¶
v4.5.2 ile v4.5.3 arasında kullanıcı tarafından görülebilen API kırılmaları. Kapsam: modules/ içindeki Python C-modülleri ve scripts/libraries/ içindeki Python kitaplıkları.
Her değişiklik etkisine göre etiketlenmiştir:
minor — dar API; yalnızca onu kullanan betikleri etkiler.
behavior — aynı API, farklı sonuçlar; ayarlanmış betikleri yeniden kontrol edin.
Değişiklikler bu sırada etkilerine göre gruplanmıştır. Yalnızca kodunuzu taşımak istiyorsanız sondaki taşıma kontrol listesine atlayın. Her commit özeti (hash) GitHub’daki diff’ine bağlanır.
Kaldırılan görüntü yöntemleri (minor)¶
Image.div(), Image.cartoon() (ve örneği) ve Image.mul() kaldırıldı.
Ekran modülü API’si (minor)¶
Eski udisplay modül adı yedeği kaldırıldı — modül yalnızca display olarak kaydediliyor. Yalnızca DSI’ye özel dsi_write() / dsi_read() yöntemleri, artık tüm ekran denetleyicilerinde kullanılabilen bus_write() / bus_read() ile değiştirildi.
MQTT ve tf.regression API değişiklikleri (minor)¶
mqtt kitaplığının MQTTClient sınıfı yeniden tasarlandı: port artık zorunlu, yeni ssl_params / callback yapıcı anahtar sözcükleri ve connect() üzerinde bir timeout argümanı eklendi, eski ssl= / port=0 varsayılanları kaldırıldı ve check_msg() artık bloklamayan biçimde çalışıyor. tf.regression() yeniden yazıldı — imzası artık regression(model, array) ve 1D/2D/3D ve nicelenmiş (int8) modelleri işliyor.
ISP / sensör davranış değişiklikleri (behavior)¶
Image.awb() yeniden tasarlandı — gri dünya (varsayılan) ile beyaz yama (max=True) arasındaki ayrım artık açıkça belirtiliyor ve max argümanı ile Image.gamma()‘nın gamma / contrast / brightness argümanları artık yalnızca anahtar sözcüklü (konumsal çağrılar güncellenmelidir). Görüntü devriği artık YUV422 için devre dışı bırakıldı (daha önce hatalı çıktı üretiyordu) ve YUV422 renk kayması Bayer ile eşleşecek şekilde düzeltildi. STM32 JPEG yolu artık bir JPEG geometri uyumsuzluğunda bozuk bir görüntü üretmek yerine bir hata yükseltiyor ve WiFi AP modu artık STM32 ve i.MX RT portlarında varsayılan bir güvenlik modu uyguluyor.
Commit’ler: 36d5cecbd, 00500ccde, c1eeaefd6, 333fb2b5f, 55cab8733, c7d40f6af
Taşıma kontrol listesi¶
v4.5.3’e temiz bir taşıma için tipik çalışma şudur:
Image.div()/cartoon()/mul()kullanımını bırakın (kaldırılan yöntemler).Ekran modülünü
displayolarak içe aktarın vedsi_write/dsi_readçağrılarınıbus_write/bus_readolarak değiştirin (ekran API’si değişikliği).MQTTClientoluşturmasını (portzorunlu;ssl_params/callback) ve tümtf.regression()çağrılarını güncelleyin (kitaplık API değişiklikleri).awb()maxvegamma()gamma/contrast/brightnessargümanlarını anahtar sözcüklü argümanlar olarak geçirin ve YUV422/devrik ile AP modu güvenlik varsayımlarını yeniden kontrol edin (ISP/sensör değişiklikleri).