v2.8.0

v2.8.0 devasa bir sürümdür. Donanım JPEG kodlayıcı ve H7 ADC/DAC içeren OpenMV Cam H7 (STM32H7) kartını ayağa kaldırır, büyük bir image API elden geçirmesi (çizim kalınlığı/dolgular, matematik/ikili işlemler, birçok yeni filtre, Otsu eşikleme), MicroPython iş parçacığı (threading) ve omv sürüm modülünü getirir. Python argüman ayrıştırma sırası kilitlendi ve image.mask_ellipse() kaldırıldı — aşağıdaki kırıcı değişiklikleri okuyun.

Öne çıkanlar

  • OpenMV Cam H7 — donanım JPEG kodlayıcı ve H7 ADC / DAC içeren yeni STM32H7 kartı.

  • image elden geçirmesi — çizgi kalınlığı, şekil dolguları, draw_arrow() / draw_image(), tam matematik/ikili işlemler ve birçok yeni filtre.

  • Otsu eşiklemehistogram.get_threshold() ve bir Threshold nesnesi.

  • İş parçacığı (threading) — MicroPython _thread desteği.

  • omv modülü — sürüm / kart bilgisi.

  • Kırıcı: Python konumsal argüman sırası artık katı ve image.mask_ellipse() kaldırıldı — kırıcı değişikliklere bakın.

Yeni özellikler

  • OpenMV Cam H7 — donanım JPEG kodlayıcı, H7 ADC ve H7 DAC içeren STM32H7 kart desteği.

  • Çizim — çizgi thickness, şekil fill (dikdörtgen / daire), metin scale / kerning, draw_string() üzerinde bir mono_space anahtar sözcüğü, image.draw_arrow() ve image.draw_image() (sprite / maske çizimi) eklendi.

  • Matematik işlemleriadd(), sub(), mul(), div(), min(), max(), difference(), blend(), replace() (hmirror / vflip / mask ile birlikte) ve remove_shadows() eklendi; temel işlemler artık tüm piksellere uygulanan bir skaler/renk değeri kabul ediyor.

  • İkili / morfoloji — yeni bir ikili görüntü türü ve binary(); çizgi işlemleri ve erode() / dilate() maskeleri kabul ediyor; open() / close() / top_hat() / black_hat() eklendi.

  • Filtrelercartoon, flood_fill, bilateral, laplacian, blur / gaussian_blur takma adları ve uyarlamalı histogram eşitleme (histeq(adaptive=, clip_limit=, mask=)) eklendi.

  • İstatistiklerget_statistics() / get_histogram() bir renk eşik listesi ve invert kabul ediyor; Otsu histogram.get_threshold() ve bir Threshold nesnesi eklendi.

  • CMSIS CNN — bir cnn.py örneğiyle birlikte image.classify_object() eklendi (v3.0.0’da nn modülü tarafından yerini aldı).

  • İş parçacığı (threading) — MicroPython _thread modülü etkinleştirildi.

  • omv modülü — sürüm bilgisi (version_string, arch, board_type, board_id) eklendi; machine I2C4 veri yolu ve matematik özel işlevleri (erf, gamma, …) etkinleştirildi; motor-shield örnekleri ve birçok yeni örnek betik eklendi.

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

  • H7 sensör harici saati 48 MHz’e düşürüldü (daha iyi görüntü kalitesi, daha düşük FPS); düşük/yüksek JPEG kalitesi artık kart bazında yapılandırılabilir (ve H7 için ince ayarlanmış); kart başına imlib_config.h özellik geçişlemesi eklendi (tüm görüntü işlevleri stok aygıt yazılımında (firmware) etkin kalır); paketlenen MicroPython güncellendi.

Hata düzeltmeleri

Görüntüleme:

  • Dosya uzantısı olmadan image.save(), OV2640 / OV7725 / OV9650 / MT9V034 için gain_db / gain_db_ceiling eşlemesi, sharpen() işlevinde aşırı kazanç, morfolojik kenar gürültüsü, bir görüntü işleminde sıfıra bölme ve çok büyük bir filtre çekirdek boyutunda yığın taşması çökmesi (artık temiz bir hata) düzeltildi.

Sistem:

  • USB VCP arabelleği atomik bir bölümle korundu (seri bozulma, #313), Windows’ta USB bağlantısı düzeltildi, SD kart başarısız olursa dahili flash bellek dosya sistemini bağlama, cpufreq set_frequency() PLLP değeri ve bir önyükleyici aygıt-yazılımı-flashleme hatası düzeltildi.

Donanım ve kart desteği

  • OpenMV Cam H7 (STM32H7) — donanım JPEG kodlayıcı ve H7 ADC / DAC içeren yeni kart.

  • machine — I2C4 veri yolu etkinleştirildi.

Kırıcı API değişiklikleri

v2.7.0 ile v2.8.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 iki kırıcı değişiklik de minor ve yalnızca ilgili özelliği kullanan betikleri etkiler. Her commit hash’i GitHub’daki diff’ine bağlanır.

Python konumsal argüman sırası artık katı (minor)

Python C-modülleri (image / sensor / fir / gif / lcd / mjpeg) genelinde argüman ayrıştırma artık konumsal argümanları anahtar sözcüklerden önce okuyor ve konumsal sırayı kilitliyor. Çizim metotlarındaki yeni anahtar sözcük argümanlarıyla birleştiğinde (draw_line() / draw_rectangle() / draw_circle() / draw_string() / draw_cross() / draw_keypoints() thickness / fill / scale / size kazanıyor), parametreleri konumsal olarak sıra dışı geçiren — veya yeni argümanlardan birinden sonra konumsal bir color geçiren — kodun anahtar sözcük argümanları veya belgelenen konumsal sırayı kullanması gerekir.

Commit’ler: e0e112468, fc74e70c3

image.mask_ellipse() kaldırıldı (minor)

image.mask_ellipse() kaldırıldı. Onu çağıran betiklerin çağrıyı kaldırması veya bunun yerine açık bir ROI / maske görüntüsü kullanması gerekir.

Commit’ler: d7159fba3

Geçiş kontrol listesi

Argümanları anahtar sözcükle (veya belgelenen konumsal sırayla) geçirin, özellikle çizim metotlarında color (argüman-sırası değişikliği) ve image.mask_ellipse() çağrılarını kaldırın (mask_ellipse kaldırma). Diğer tüm betikler değişiklik olmadan çalışır.