Reddit – computervision – Vaihtoehto imshow() + waitKey() -toiminnolle reaaliaikaiseen virheenkorjaukseen OpenCV:ssä
On 31 joulukuun, 2021 by adminEn ole käyttänyt OpenCV:tä pitkään aikaan, mutta muistan käyttäneeni waitKey(1)
:tä kehyksiemme näyttämiseen reaaliajassa. Yhden millisekunnin viiveillä ei pitäisi olla merkittävää eroa suurimmassa osassa käsittelyä – vaikka käsittelisit 100FPS:n nopeudella, haluat luultavasti imshowta muutenkin vain muutaman ruudun välein. Oli miten oli, ohjelmasi on käsiteltävä tapahtumia, jotka käyttöjärjestelmä on asettanut jonoon jossain vaiheessa, jotta se voi vastata syötteeseen. waitKey
on OpenCV:n tapa varmistaa, että tämä tapahtumien käsittely tapahtuu, vaikka sovelluksesi olisi muuten yksisäikeinen. Jos et liikuta hiirtäsi, käsiteltävien tapahtumien määrä on triviaali. Vaihtoehtoisesti, jos siirryt Qt:hen ja muihin, haluat luultavasti joka tapauksessa tehdä kaiken näönkäsittelyn erillisessä säikeessä. Ja jos käytät kaikkia ytimiä käsittelyyn, sinun on vaihdettava kontekstia tapahtumankäsittelysä suorittavaan säikeeseen melko usein, jos et halua, että graafinen käyttöliittymäsi jähmettyy, joten sinulle koituu samat kustannukset kuin jos käyttäisit waitKey:tä. Käytä ehdottomasti Qt/wx:ää, jos luulet koskaan tarvitsevasi minkäänlaista vuorovaikutteisuutta, mutta se ei ole parannuskeino nopeusongelmaan.
Vastaa