v2.5.0¶
v2.5.0 este o lansare de imagistică bogată în funcții: adaugă find_rects(), find_circles(), get_regression() (potrivire de linii/regresie), find_number() (cifre LeNet), clasele de flux ImageWriter / ImageReader, sensor.flush() / width() / height() și suport pyb.RTC. Încărcarea imaginilor este acum susținută de tamponul de cadre — citiți modificările incompatibile de mai jos.
Aspecte importante¶
image.find_rects()— detector de dreptunghiuri / patrulatere cu ieșire pentru colțuri.image.find_circles()— detectarea cercurilor prin transformata Hough.image.get_regression()— potrivire de linii prin cele mai mici pătrate și robustă (Theil-Sen).image.find_number()— recunoașterea cifrelor LeNet.ImageWriter/ImageReader— înregistrarea și redarea fluxurilor de imagini.Suport
pyb.RTC, plussensor.flush()/sensor.width()/sensor.height().Incompatibil: încărcarea imaginilor este acum susținută de tamponul de cadre și generează o eroare dacă imaginea este prea mare — consultați modificările incompatibile.
Funcții noi¶
Detectarea caracteristicilor — adăugate
image.find_rects()(detector de patrulatere AprilTag; obiecte rect cux/y/w/h/corners/magnitude),image.find_circles()(Hough),image.get_regression()(potrivire de linii prin cele mai mici pătrate + robustă Theil-Sen) șiimage.find_number()(recunoașterea cifrelor LeNet), fiecare cu scripturi exemplu.Colțurile rezultatelor — adăugat un atribut
cornersla obiectele rezultat pentru coduri QR / AprilTag / matrice de date / coduri de bare.Fluxuri de imagini — adăugate clasele
image.ImageWriter/image.ImageReader(format de blocuri aliniate la 16 octeți) cu exempleleimage_writer.py/image_reader.py.Senzor — adăugate
sensor.flush()(împinge tamponul de cadre către IDE fără un instantaneu) șisensor.width()/sensor.height().pyb.RTC— activat suportul RTC cu un exemplurtc.py.Adăugate o cascadă Haar pentru fețe de pisică și un exemplu Servo-Shield (PCA9685); unealta gazdă
openmv-cascade.pya primit suport pentru noul format de cascadă XML OpenCV.
Alte modificări și îmbunătățiri¶
Tamponul de cadre a fost refactorizat astfel încât metodele de imagine
copy_to_fbactualizează previzualizarea din IDE; căileHaarCascade()nu mai necesită un/inițial (încorporat vs. fișier este detectat automat); înregistrarea GIF/MJPEG suportă acum VGA (și GIF-uri BAYER); fișierul încorporatREADME.txta fost actualizat, iar fișierul driveropenmv.infnu mai este creat pe un sistem de fișiere nou.
Corecții de erori¶
Imagistică:
Corectate acumularea voturilor din
find_circles(), offsetul rho dinget_regression()cu un ROI și o scurgere de memorie, îmbinarea segmentelor dinfind_lines(), medierea unghiurilor dinfind_blobs()și limitele de culoare implicite (cele mai puțin restrictive), stabilitatea sortării punctelor-cheie ORB / ordonarea descriptorilor și flag-ul de potrivire, precum și încărcarea cu tamponare a cascadei Haar (citiri nealiniate).
Sistem:
Activat
pybServo 3 (P9) (#256), corectată inițializarea RTC, mărit timeout-ul caracterelor UART (#240) și corectat flag-ul „enabled” neinițializat al tamponului de cadre al senzorului.
Suport hardware și pentru plăci¶
Modificări incompatibile de API¶
Modificări incompatibile de API vizibile pentru utilizator între v2.4.1 și v2.5.0. Domeniu: modulele C Python din modules/ și bibliotecile Python din scripts/libraries/.
Modificarea incompatibilă este o modificare de comportament (același API, rezultat diferit) — reverificați scripturile afectate. Fiecare hash de commit duce la diff-ul său pe GitHub.
Încărcarea imaginilor este susținută de tamponul de cadre (comportament)¶
image.Image / încărcarea imaginilor copiază acum imaginea încărcată în tamponul de cadre principal și generează o excepție dacă imaginea este prea mare pentru a încăpea. Încărcările care reușeau anterior într-un tampon din heap pot eșua acum — asigurați-vă că imaginile încărcate încap în tamponul de cadre (sau gestionați noua eroare).
Commit-uri: 87d53385a
Lista de verificare pentru migrare¶
Asigurați-vă că imaginile încărcate încap în tamponul de cadre (sau prindeți noua eroare „image too large”) acolo unde vă bazați anterior pe încărcări de imagini susținute de heap (modificarea încărcării imaginilor). Toate celelalte scripturi rulează nemodificate.