v3.3.0¶
A v3.3.0 hatalmas kiadás. Teljes FLIR Lepton hőkamera-támogatást ad hozzá egy új sensor.ioctl() felülettel és színpalettákkal, egy tv SPI videókimeneti modult, global-shutter triggerelt módot, egy nagy adag új image rajzolási/elemzési metódust (gamma_corr(), draw_ellipse(), draw_edges(), számos folttulajdonság), valamint új ToF / motor / linalg könyvtárakat. A cpufreq API-t átdolgozták, és a sensor.set_framesize() most már kivételt dob — olvasd el az alábbi megszakító változásokat.
Kiemelések¶
FLIR Lepton — teljes hőkamera-támogatás az új
sensor.ioctl()felületen, színpalettákon és azimage.to_rainbow()metóduson keresztül.tvmodul — SPI TV / kompozit videókimenet.Global-shutter triggerelt mód — MT9V034 triggerelt felvétel a
sensor.ioctl()segítségével.Képkezelés —
gamma_corr(),draw_ellipse(),draw_edges(),draw_image()alfa-keverés és számos új folttulajdonság.Új könyvtárak — VL53L1X ToF távolságmérés, TB6612 motorvezérlő, micro-linalg.
Megszakító változás: a
cpufreqAPI-t átdolgozták, asensor.set_framesize()most már kivételt dob hiba esetén, asensor.alloc_extra_fb()elhagyta a Bayer/JPEG támogatást, és azimage.replace()pozicionális argumentumai eltolódtak — lásd a megszakító változásokat.
Új funkciók¶
FLIR Lepton — hozzáadtuk a
sensor.ioctl()metódust az érzékelőspecifikus vezérléshez és a Lepton ioctl-ek teljes készletét (radiometria, frissítés/felbontás, parancsfuttatás, attribútum beállítása/lekérése, FPA/AUX hőmérséklet °C-ban, mérési mód/tartomány, szélesség/magasság), asensor.set_color_palette()/sensor.get_color_palette()metódusokat asensor.PALETTE_RAINBOW/PALETTE_IRONBOWkonstansokkal, azimage.to_rainbow()metódust, valamint Lepton példaszkripteket (27-Lepton).Triggerelt mód —
IOCTL_SET_TRIGGERED_MODE/IOCTL_GET_TRIGGERED_MODEaz MT9V034 global-shutter triggerelt felvételéhez, magas FPS-es és triggerelt módú példákkal.tvmodul — hozzáadtuk az SPI TV / kompozit videókimenet kötéseit.Képkezelés — hozzáadtuk az
image.gamma_corr(),image.draw_ellipse(),image.draw_edges()metódusokat, adraw_image()alfa-keverést, egymask=kulcsszót aclear()metódushoz, újra hozzáadtuk amask_rectangle()/mask_circle()/mask_ellipse()metódusokat, forgatás / hmirror / vflip kulcsszavakat adraw_string()/draw_text()metódusokhoz, egytransposekulcsszót (valamintassign/setaliasokat) areplace()metódushoz, acopy()x_scale/y_scaleargumentumait acrop()/scale()mellett, egy méretekből építőImage()konstruktort, asensor.BINARYképpontformátumot, exportált színtér-konverziós függvényeket, valamint számos új folttulajdonságot (corners,perimeter,roundness,elongation,extent,compactness,solidity,convexity,enclosing_circle,enclosed_ellipse, forgatás).Könyvtárak — hozzáadtuk a
vl53l1xToF távolságérzékelő-vezérlőt, atb6612motorvezérlőt (DC-motor és léptetőmotor Motor-Shield példákkal), valamint egy micro-linalg könyvtárat (ulinalg/umatrix).A FatFS-t FF13C-re frissítettük (exFAT-képes).
Egyéb változások és fejlesztések¶
Javítottuk az alapértelmezett JPEG-minőséget (a low–high közepe egy beégetett érték helyett); a helyben végzett képműveletek már nem igénylik a kép első argumentumként való megismétlését; a
draw_string()nem egész léptékértékeket is elfogad.
Hibajavítások¶
Kamera és érzékelők:
Javítottuk a Lepton 3.5 indítási elakadását (időtúllépés + helyreállítás) és a reset megbízhatóságát, az MT9V034
set_framesize()hívását aset_pixformat()előtt (a hívási sorrend már nem számít), az MT9V034 WVGA-t az STM32H7-en, az MT9V034 automatikus expozíciós tartományát és az árnyékregiszter-frissítéseket, valamint a H7 ADC-hibát.
Képkezelés:
Javítottunk egy érvénytelen memóriahozzáférést a
find_apriltags()metódusban, acopy()hibáját skálázott kép fő képkocka-pufferbe másolásakor, ato_grayscale()/to_rgb565()képkocka-puffer-foglalást, a kulcspont-objektumlen()értékét, a JPEG MCU-határok kezelését, abinary()küszöbértéklista-elemzését, valamint adraw_keypoints()kulcspont-tuple-ök elfogadását.
Rendszer:
Javítottuk az
fb_allocmark/free egyensúlyhiányból eredő memóriaszivárgásokat aimage/fir/lcd/tv/nnmetódusokban, elértük, hogy apy_assertfelszabadítsa a képkocka-puffer memóriáját elkapott kivételek esetén (#417), töröltük a UART túlcsordulás (ORE) jelzőbitet, hogy a túlcsordulások többé ne akasszák meg a UART-olvasásokat, javítottuk az RTC IRQ-kezelőt, valamint a Windowscascade_convert.pyeszközt.
Hardver- és lapkatámogatás¶
FLIR Lepton hőkamera.
TV shield — SPI TV / kompozit videókimenet.
Global-shutter (MT9V034) triggerelt mód.
Megszakító API-változások¶
A felhasználó számára látható API-változások a v3.2.0 és a v3.3.0 között. Hatókör: Python C-modulok a modules/ könyvtárban és Python könyvtárak a scripts/libraries/ könyvtárban.
Minden változás meg van jelölve a hatásával:
major — a funkciót használó legtöbb szkriptet érinti; portolnod kell a kódot.
minor — szűk API; csak az azt használó szkripteket érinti.
behavior — azonos API, eltérő eredmények; ellenőrizd újra a hangolt szkripteket.
A változások ebben a sorrendben hatás szerint vannak csoportosítva. Ha csak portolni szeretnéd a kódodat, ugorj a végén található migrációs ellenőrzőlistára. Minden commit-hash a hozzá tartozó diffre hivatkozik a GitHubon.
cpufreq API átdolgozva (major)¶
A cpufreq modult átdolgoztuk a H7 támogatása érdekében. A cpufreq.CPUFREQ_120MHZ / 144 / 168 / 192 / 216MHZ konstansokat és a cpufreq.get_frequency() metódust eltávolítottuk. A cpufreq.set_frequency() most már egyszerű MHz-egészet vár (pl. cpufreq.set_frequency(120)), és hozzáadtuk a cpufreq.get_current_frequencies() / cpufreq.get_supported_frequencies() metódusokat.
Commitok: 6babf84a1
image.replace() pozicionális argumentumai eltolódtak (minor)¶
Az image.replace() kapott egy transpose argumentumot, amely a pozicionális mask argumentumot a 4. pozícióból az 5.-be tolta. Az olyan kódnak, amely a mask argumentumot pozicionálisan adta át (pl. img.replace(src, hmirror, vflip, mask)), át kell állnia a kulcsszavas formára: img.replace(src, mask=mask).
Commitok: dbe7bf059
A sensor.alloc_extra_fb() többé nem fogad el Bayer/JPEG formátumot (minor)¶
A sensor.alloc_extra_fb() többé nem fogadja el a sensor.BAYER vagy sensor.JPEG formátumot (most már a sensor.BINARY formátumot is támogatja). Az olyan kódnak, amely extra képkocka-puffereket foglalt Bayer vagy JPEG formátumban, a GRAYSCALE / RGB565 formátumot kell használnia (vagy más módon kell lefoglalnia a puffert).
Commitok: f9e6b3fe0
A sensor.set_framesize() kivételt dob hiba esetén (behavior)¶
A sensor.set_framesize() most már ValueError kivételt dob, ha a képkockaméret nem támogatott, ahelyett, hogy False értéket adna vissza. Az olyan kódnak, amely a False visszatérési értéket ellenőrizte, ehelyett el kell kapnia a ValueError kivételt.
Commitok: b0442633e
Migrációs ellenőrzőlista¶
A v3.3.0-ra való tiszta portoláshoz a tipikus teendők a következők:
Portold a
cpufreqkódot az egész-MHz-esset_frequency()és aget_current_frequencies()/get_supported_frequencies()metódusokra (a cpufreq átdolgozása).Add át a
maskargumentumot azimage.replace()metódusnak kulcsszóként (a replace változása).Foglald le az extra képkocka-puffereket
GRAYSCALE/RGB565formátumban a Bayer/JPEG helyett (az alloc_extra_fb változása).Kapd el a
ValueErrorkivételt asensor.set_framesize()körül aFalseellenőrzése helyett (a set_framesize változása).
Minden más szkript változatlanul fut.