v1.2.0¶
v1.2.0 on perustavanlaatuinen, erittäin laaja julkaisu, joka rakentaa suuren osan klassisesta OpenMV-kuvaus-API:sta: piirtämis-metodit, binääri- / morfologia-operaatiot, avainpistekuvaajat (FAST / FREAK / LBP), värimuunnokset ja image.statistics, BMP / PPM / JPEG -tiedosto-I/O:n, lcd-, mjpeg-, gif- ja mlx-lämpömoduulit, OV7725-kameran sekä monet sensor-ohjaimet. Joidenkin ydin-sensor-toimintojen käyttäytyminen muuttui — lue alla olevat rikkovat muutokset.
Kohokohdat¶
Piirtämis-API —
draw_line()/draw_rectangle()/draw_circle()/draw_string()/draw_cross()/draw_keypoints().Binääri / morfologia —
binary(),invert(),and/or/xor/...,erode()/dilate()/morph(),negate()/difference().Avainpisteet — FAST / FREAK / LBP -kuvaajat metodeilla
match_descriptor()/save_descriptor()/load_descriptor().OV7725-kameran tuki;
image.statistics; BMP/PPM/JPEG-tiedosto-I/O.Rikkova:
sensor.reset()-,sensor.snapshot()- jasensor.set_pixformat()-toimintojen käyttäytyminen muuttui — katso rikkovat muutokset.
Uudet ominaisuudet¶
Piirtäminen — lisätty
image.draw_line()/draw_rectangle()/draw_circle()/draw_string()/draw_cross()/draw_keypoints()avainsana-argumenteilla (väri, paksuus, …).Binääri / morfologia — lisätty
image.binary(),invert(),and()/nand()/or()/nor()/xor()/xnor(),erode()/dilate()/morph(),negate()/difference(),pixels(),centroid(),orientation_radians()/orientation_degrees()sekäwidth()/height()/format().Avainpisteet / kuvaajat — FAST-avainpisteiden poiminta metodilla
find_keypoints(), yhtenäinenmatch_descriptor()sekäsave_descriptor()/load_descriptor()FREAK- / LBP-kuvaajille, lisäksi sivuprofiilikasvojen Haar/LBP-kaskadi.Väri / tilastot —
image.statisticsja värimuunnosfunktiot (rgb_to_lab/lab_to_rgb/rgb_to_grayscale/grayscale_to_rgb).Tiedosto-I/O — BMP / PPM (P2/P3/P5/P6) / JPEG -tiedostojen lataus ja tallennus (mukaan lukien harmaasävy-JPEG sekä 4:2:0 / 4:2:2 -krominanssin alinäytteistys).
Moduulit — uudet
lcd(LCD-laajennuskortti),mjpeg(videotallennus), väri-gif(jossaGif.loop()) jamlx-lämpökameramoduulit, kukin esimerkkiskripteineen.Sensori — lisätty
sensor.get_id()(+ OV9650/OV2640/OV7725 PID-vakiot),sensor.set_special_effect()(SDE_*-vakiot),sensor.set_image_filter()(FILTER_BW / FILTER_SKIN),HQVGA-kehyskoko sekäimage.set_pixel(x, y, …).WiFi — lisätty ATWINC1500 WiFi-ajuri ja OpenMV 1/2 -BSP-pohjatyö sekä BLE-esimerkki.
Muut muutokset ja parannukset¶
Kehyspuskuri on nyt JPEG-pakattu ennen suoratoistoa OpenMV IDE:hen (pienempi kaistanleveys); JPEG-pakkaus tehdään paikallaan; OV7725:n V/P-zoomaus mahdollistaa mielivaltaisen skaalauksen; parannettu (nopeampi) Haar-kasvontunnistus, joka toimii QVGA-tarkkuudella.
Virheenkorjaukset¶
Kuvaus:
Korjattu integraalikuvan laskenta,
median()-suotimen vioittuminen, painopisteen laskenta, RGB-iho- / mustavalkosuotimet RGB-syötteellä sekä nopeampi harmaasävy-BMP/PPM-luku/-kirjoitus.
Sensori ja järjestelmä:
Korjattu
pyb.Servo-ajastimet (Servo toimii nyt), HQVGA-resoluutio, SD-kortin alustuksen luotettavuus, tallennustilan uudelleenalustus pehmeän nollauksen jälkeen sekä REPL:n uudelleenkäynnistys, kun skriptiä ei ole.
Laitteisto- ja korttituki¶
OV7725-kamerasensori.
LCD-laajennuskortti (
lcd-moduuli),mlx-lämpökamera ja ATWINC1500 WiFi-pohjatyö.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-rikot versioiden v1.1.0 ja v1.2.0 välillä. Laajuus: Python-C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.
Kaikki kolme rikkovaa muutosta ovat ydin-sensor-funktioiden käyttäytymismuutoksia (sama API, eri käyttäytyminen) — tarkista vaikutuksen alaiset skriptit uudelleen. Kukin commit-hash linkittää diffiinsä GitHubissa. (Valtaosa tästä julkaisusta on uutta API:a, joka rakennettiin v1.1→v1.2-välillä ja on siksi lisäävää, ei rikkovaa.)
sensor.reset() ei enää sovella oletuskonfiguraatiota (käyttäytyminen)¶
sensor.reset() ei enää sovella sisäänrakennettua oletuskonfiguraatiota (pixformat / framesize / framerate / gain / contrast / brightness / saturation). Skriptien, jotka luottivat siihen, että reset() jättää käyttökelpoisen oletuksen, on nyt nimenomaisesti kutsuttava sensor.set_pixformat() ja sensor.set_framesize() (sekä muut asetukset) reset()-kutsun jälkeen.
Commitit: d1e782df3
sensor.snapshot() nostaa poikkeuksen aikakatkaisussa (käyttäytyminen)¶
sensor.snapshot() nostaa nyt RuntimeError("Sensor Timeout!!")-poikkeuksen, kun sensori aikakatkaistuu, sen sijaan että jäisi roikkumaan loputtomiin. Kääri snapshot() try / except RuntimeError -rakenteeseen, jos sinun on siedettävä aikakatkaisuja.
Commitit: e3f41d674
sensor.set_pixformat() nostaa poikkeuksen ei-tuetussa muodossa (käyttäytyminen)¶
sensor.set_pixformat() nostaa nyt poikkeuksen, kun sille annetaan ei-tuettu pikseliformaatti, sen sijaan että palauttaisi False. Koodin, joka tarkisti False-paluuarvon, on nyt napattava poikkeus.
Commitit: e0c5822c2
Siirtymän tarkistuslista¶
Puhtaaseen siirtoon versioon v1.2.0 tyypillinen työ on:
Aseta nimenomaisesti
sensor.set_pixformat()/sensor.set_framesize()sensor.reset()-kutsun jälkeen (reset-muutos).Kääri
sensor.snapshot()try/except RuntimeError-rakenteeseen, jos sinun on siedettävä sensorin aikakatkaisuja (snapshot-muutos).Nappaa
sensor.set_pixformat()-poikkeus sen sijaan, että tarkistaisitFalse-arvoa (set_pixformat-muutos).
Kaikki muut skriptit toimivat muuttumattomina.