Reddit – computervision – Alternativă la imshow() + waitKey() pentru depanarea în timp real în OpenCV
On decembrie 31, 2021 by adminA trecut foarte mult timp de când am folosit OpenCV, dar îmi amintesc că am folosit waitKey(1)
pentru a afișa cadrele noastre în timp real. Întârzierile de o milisecundă nu ar trebui să facă o diferență semnificativă pentru majoritatea prelucrărilor – chiar dacă prelucrați la 100FPS, probabil că oricum nu doriți să afișați decât la fiecare câteva cadre. Oricum ar fi, programul dumneavoastră trebuie să proceseze la un moment dat evenimentele care au fost puse în coadă de către sistemul de operare pentru a răspunde la intrări. waitKey
este modalitatea prin care OpenCV se asigură că această procesare a evenimentelor are loc, chiar dacă aplicația dvs. este altfel single-threaded. Dacă nu vă mișcați mouse-ul, cantitatea de evenimente care trebuie procesate va fi trivială. Alternativ, dacă vă mutați la Qt et. al., probabil că veți dori oricum să faceți toată procesarea vederii pe un fir separat. Iar dacă folosiți toate nucleele pentru procesare, va trebui să treceți destul de frecvent la un fir de procesare a evenimentelor dacă nu doriți ca interfața grafică să se blocheze, astfel încât veți suporta aceleași costuri ca și în cazul în care ați folosi waitKey. Cu siguranță mergeți la Qt/wx dacă credeți că veți avea vreodată nevoie de orice fel de interactivitate, dar nu este un leac pentru problema vitezei.
Lasă un răspuns