Sisukord:
- Samm: päisefailid
- 2. samm: video jäädvustamine
- 3. samm: raami jäädvustamine ja värvi määramine
- Samm: maskeerimine ja ekstraheerimine
- Samm: lõpuks kuvatakse
- 6. samm: demo
Video: Lihtne värvide tuvastamine OpenCV abil: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Tere! Täna näitan lihtsat meetodit värvi tuvastamiseks reaalajas videost OpenCV ja python abil.
Põhimõtteliselt katsetan lihtsalt, kas vajalik värv on taustraamis olemas või mitte, ja OpenCV moodulite abil maskeerin selle piirkonna ja kuvan samal ajal kaadri.
Samm: päisefailid
Nüüd olen siin kasutanud kahte päisefaili, nimelt cv2 ja NumPy. Põhimõtteliselt on cv2 OpenCV teek, mis laadib kõik koodides käskude kasutamise ajal olulised c ++ failid (see sisaldab kõiki määratlusi).
Ja Numpy on püütoniteek, mis on mitmemõõtmelise massiivi salvestamiseks hädavajalik. Kasutame oma värvivaliku koordinaatide salvestamiseks.
Ja numpy kui np aitab meie koodil põhimõtteliselt natuke lühendada, kasutades numpy asemel iga kord np.
2. samm: video jäädvustamine
See on pythoni kasutamisel üsna lihtne. Siin peame lihtsalt videosalvesti sisse lülitama, et see saaks hakata kaadreid salvestama.
Nüüd näitab VideoCapture'i sees olev väärtus kaamerat, minu puhul on kaamera sülearvutiga ühendatud, seega 0.
Võite minna sarnaselt teise kaameraga 1 ja nii edasi. VideoCapture loob selle jaoks objekti.
3. samm: raami jäädvustamine ja värvi määramine
Nüüd peame siin midagi ette võtma, et saaksime jäädvustada video kohese kaadri, mis aitab meil pilti ekstraheerida ja saame seda vastavalt vajadusele tööd teha.
silmus "samas" aitab meil nõutava ajani käivitada. Nüüd kasutatakse "_, frame = cap.read ()" kaadri kehtivuse kontrollimiseks ja salvestamiseks. "cap.read () on loogiline muutuja ja tagastab tõese, kui kaadrit loetakse õigesti ja kui te ei saa ühtegi kaadrit, ei näita see ühtegi viga, saate lihtsalt nupu Puudub.
Nüüd määravad jooned 11 ja 12 põhimõtteliselt värvivahemiku, mida peame tuvastama. Selleks olen harjunud sinise värviga.
Võite jätkata mis tahes värviga, mille jaoks peate lihtsalt sisestama selle konkreetse värvi BGR väärtused. Parem on määratleda kaks massiivi, kasutades numbrimassiive, kuna konkreetse värvi tuvastamine reaalses maailmas ei täida meie eesmärki, vaid määratleme sinise värvi vahemiku, et see tuvastaks selle vahemiku.
Selleks olen määratlenud kaks muutujat, mis salvestavad madalamad BGR väärtused ja ülemised BGR väärtused.
Samm: maskeerimine ja ekstraheerimine
Nüüd tuleb siin peamine ülesanne - raami maskeerimine ja raami värvi väljavõtmine. Maskeerimiseks kasutasin OpenCV raamatukogus olevaid etteantud käske. Põhimõtteliselt on maskeerimine mõne kaadriosa eemaldamise protsess, st eemaldame pikslid, mille BGR -i värvi väärtused ei kuulu määratletud värvivahemikku, ja seda teeb cv2.inRange. Hiljem rakendame maskeeritud pildile värvivahemikku sõltuvalt piksliväärtustest ja selleks kasutame cv2.bitwise_and. See määrab varjatud piirkonnale värvid sõltuvalt maskist ja värvivahemiku väärtustest.
Cv2 link. bitwise_and:
Samm: lõpuks kuvatakse
Siin olen kasutanud põhilist cv2.imshow () iga kaadri kuvamiseks pildina. Kuna kaadriandmed on salvestatud muutujatesse, saan need alla laadida kujul imshow (). Siin olen näidanud kõiki kolme raami, originaali, maskeeritud ja värvilist.
Nüüd peame samasilmusest väljuma. Selleks saame lihtsalt rakendada cv2.wait. Key (). Põhimõtteliselt ütleb see ooteaja enne vastamist. Nii et kui läbite 0, ootab see lõpmatult ja 0xFF ütleb, et arhitektuur on 64 -bitine. "ord ()" määrab märgi, mis vajutamisel täidab käsu break, kui plokk, ja see väljub tsüklist.
Seejärel sulgeb cap.release () videosalvesti ja cv2.destroyAllWindows () sulgeb kõik avatud aknad.
Kui teil on probleeme, andke mulle sellest teada.
Link lähtekoodile:
Soovitan:
Pilditöötlus Raspberry Pi abil: OpenCV ja pildi värvide eraldamise installimine: 4 sammu
Pilditöötlus Raspberry Pi abil: OpenCV ja pildivärvide eraldamise installimine: see postitus on esimene mitmest järgnevast pilditöötluse õpetusest. Vaatame pilti moodustavaid piksleid lähemalt, õpime OpenCV -d Raspberry Pi -le installima ja kirjutame pildi salvestamiseks ka testiskripte
Värvide tuvastamine Pythonis OpenCV abil: 8 sammu
Värvide tuvastamine Pythonis OpenCV abil: Tere! Seda juhendit kasutatakse selleks, et juhendada, kuidas eraldada pythonis olevast pildist konkreetne värv openCV raamatukogu abil. Kui te pole selle tehnikaga uus, siis ärge muretsege, selle juhendi lõpus saate programmeerida oma värvi
Näotuvastus ja tuvastamine - Arduino näotuvastus OpenCV Pythoni ja Arduino abil .: 6 sammu
Näotuvastus ja tuvastamine | Arduino näotuvastus OpenCV Pythoni ja Arduino abil .: Näotuvastus AKA näo ID on tänapäeval üks olulisemaid funktsioone mobiiltelefonides. Niisiis, mul tekkis küsimus " kas ma saan oma Arduino projekti jaoks näo -id " ja vastus on jaatav … Minu teekond algas järgmiselt: 1. samm: juurdepääs meile
Värvide tuvastamine W/ TCS230 anduri ja Arduinoga [kalibreerimiskood kaasas]: 12 sammu
Värvide tuvastamine W/ TCS230 anduri ja Arduinoga [kalibreerimiskood kaasas]: ülevaade Selles õpetuses saate teada TCS230 anduri ja selle kasutamise kohta koos Arduinoga värvide tuvastamiseks. Selle õpetuse lõpus leiate põneva idee värvipliiatsi loomiseks. Selle pliiatsiga saate skannida värve
Värvide tuvastamine RGB LED -i abil: 4 sammu
Värvide tuvastamine RGB LED -i abil: kas olete kunagi soovinud objekti värvi tuvastamiseks automaatset viisi? Valgustades objektile teatud värvi valgust ja vaadates, kui palju valgust tagasi peegeldub, saate öelda, mis värvi objekt on. Näiteks kui süttib punane tuli