Display QML dreptunghiuri pe flux video bazat pe recunoașterea obiectelor

0

Problema

Am un flux video ca să descrie în Qt Video de Prezentare, folosind MyVideoProducer mecanica. Sursa imagini sunt analizate și am o listă de elemente componente (x,y,lățime,înălțime) și vreau suprapunere dreptunghiuri pe video.

Pot face acest lucru prin trimiterea o listă de dreptunghi coordonatele pentru a QML și au loc în dreptunghiuri sau nu am nevoie să-mi creez propriile imagini suprapuse?

M-am uitat la QtQuick sistem de particule, dar nu pare să se potrivească. Alte întrebări au aspectul de dreptunghi gestionate de Qt/Qml, dar am nevoie de dreptunghi pentru a fi plasate în funcție de coordonatele că viziunea conducta a determinat în C++ și trimis la QML front-end. Acestea vor fi stătut/legate de cadre video.

Acolo este un exemplu, dar suprapunerea este în legătură cu video. Cred că am nevoie de o suprapunere care este sincronizat la onNewVideoContentReceived(). QML nu va fi capabil de a determina modul de a păstra orice listă de dreptunghi în sincronizare cu video cu ușurință.

computer-vision qml qt qt5
2021-11-22 18:51:32
1

Cel mai bun răspuns

1

Am modificat original crearea zonelor tampon, debayered la un aparat de fotografiat, pentru a desena dreptunghiuri mine în RGBA format. Se evită problema de sincronizare de cadru video cu obiect de date de localizare. Nu am folosit alpha, dar doar înlocuirea de pixeli. Pentru conținutul, cantitatea de cutii față de zona de video nu a fost mare. Cu alpha dreptunghiuri și o mulțime de obiecte, poate fi mai eficientă de a implica un GPU. De fapt, ai putea folosit fix dimensiunea pătrate și nu CCL delimitate regiune și acest lucru ar putea fi semnificativ mai repede cu un GPU.

Un QML soluție ar fi mult mai elegant, dar această soluție funcționează.


Opțiunile Alternative sunt QVideoFrame::setMetaData, acest lucru poate lega CCL QRect lista la cadru, astfel încât asociația este clar și legat de cadru. Metoda onNewVideoContentReceived() de MyVideoProducer ar putea face dreptunghiuri din C++.

O altă opțiune este de QAbstractVideoFilter, care va modifica original tampon pentru a adăuga date suplimentare la imaginile prezentate. Acest lucru este ușor pentru a activa/dezactiva prin intermediul QML front-end.

Toate soluțiile se bazează pe C++, astfel că nu este ușor de a schimba de colorat, etc în QML. De exemplu, dacă obiectul are un recunoscut de proprietate, cum ar fi "masculin", "feminin", "pisică", "vehicul", etc QML putea actualiza subliniind în mod corespunzător și de a menține o contabilitate de tipuri de obiecte.

2021-11-26 16:16:56

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................