Kazalo:
- 1. korak: Datoteke z glavo
- 2. korak: Zajem videoposnetka
- 3. korak: Zajem okvirja in določanje barve
- 4. korak: Maskiranje in ekstrakcija
- 5. korak: Končno prikazano
- 6. korak: Demo
Video: Enostavno zaznavanje barv z OpenCV: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Živjo! Danes bom pokazal preprost način zaznavanja barve iz videa v živo z uporabo OpenCV in python.
V bistvu bom samo preizkusil, ali je potrebna barva v okvirju ozadja ali ne, in z uporabo modulov OpenCV bom prikril to regijo in hkrati prikazal okvir.
1. korak: Datoteke z glavo
Zdaj sem uporabil dve datoteki z glavo, in sicer cv2 in NumPy. V bistvu je cv2 knjižnica OpenCV, ki naloži vse datoteke c ++, ki so pomembne med uporabo ukazov v kodah (vsebuje vse definicije).
Numpy je knjižnica python, ki je bistvena za shranjevanje večdimenzionalne matrike. Uporabljali bomo za shranjevanje koordinat naše barvne palete.
In numpy kot np v bistvu pomaga naši kodi, da se nekoliko skrajša tako, da vsakič namesto numpy uporabi np.
2. korak: Zajem videoposnetka
To je pri uporabi pythona precej preprosto. Tukaj moramo samo vklopiti video snemalnik, da lahko začne snemati kadre.
Zdaj vrednost v VideoCapture označuje kamero, v mojem primeru je kamera povezana z mojim prenosnikom, torej 0.
Za sekundarno kamero lahko greste podobno kot 1 itd. VideoCapture zanj ustvari predmet.
3. korak: Zajem okvirja in določanje barve
Zdaj moramo tukaj narediti nekaj, da lahko zajamemo takojšen okvir videoposnetka, ki nam bo pomagal izvleči sliko, in na tem lahko delamo v skladu z zahtevami.
zanka "while" nam bo pomagala izvesti zanko do zahtevanega časa. Zdaj se "_, frame = cap.read ()" preveri veljavnost zajetega okvirja in ga shrani. "cap.read () je logična spremenljivka in vrne true, če je okvir pravilno prebran in če ne dobite okvirja, ne bo pokazal nobene napake, preprosto dobite None.
Zdaj vrstica 11 in vrstica 12 v bistvu določata obseg barv, ki jih moramo zaznati. Za to sem uporabil modro barvo.
Nadaljujete lahko s katero koli barvo, za katero morate samo vnesti vrednosti BGR. Bolje je, da z matričnimi matrikami določimo dva niza, saj zaznavanje določene barve v resničnem svetu ne bo služilo našemu namenu, temveč bomo opredelili obseg modre barve, da bo zaznaval znotraj območja.
Za to sem določil dve spremenljivki, ki shranjujeta spodnje in zgornje vrednosti BGR.
4. korak: Maskiranje in ekstrakcija
Zdaj prihaja glavna naloga prikrivanja okvirja in pridobivanja barve okvirja. Za prikrivanje sem uporabil vnaprej določene ukaze, ki so prisotni v knjižnici v OpenCV. V bistvu prikrivanje je postopek odstranjevanja določenega dela okvirja, tj. Odstranili bomo slikovne pike, katerih barvne BGR vrednosti ne ležijo v določenem barvnem območju, to pa naredi cv2.inRange. Nato za maskirano sliko uporabimo barvno območje, odvisno od vrednosti slikovnih pik, za to pa bomo uporabili cv2.bitwise_and, Barve bo preprosto dodelil maskiranemu območju, odvisno od vrednosti maske in barvnega območja.
Povezava za cv2. bitwise_and:
5. korak: Končno prikazano
Tu sem uporabil osnovni cv2.imshow () za prikaz vsakega okvirja kot slike. Ker imam okvirne podatke shranjene v spremenljivkah, jih lahko prikličem v imshow (). Tu sem prikazal vse tri okvirje, izvirne, maskirane in barvne.
Zdaj moramo zapustiti zanko while. Za to lahko preprosto implementiramo cv2.wait. Key (). V bistvu pove čakalno dobo, preden se odzove. Torej, če prenesete 0, bo čakal neskončno in 0xFF pove, da je arhitektura 64 -bitna. "ord ()" podaja znak, ki bo ob pritisku izvedel ukaz break v bloku if in bo prišel iz zanke.
Nato cap.release () zapre video snemalnik in cv2.destroyAllWindows () zapre vsa odprta okna.
Če imate kakršne koli težave, mi to sporočite.
Povezava do izvorne kode:
Priporočena:
Mobilni avtomobil Bluetooth z nadzorom -- Enostavno -- Enostavno -- Hc-05 -- Motorni ščit: 10 korakov (s slikami)
Mobilni avtomobil Bluetooth z nadzorom || Enostavno || Enostavno || Hc-05 || Motor Shield: … Prosimo, da se naročite na moj YouTube kanal ………. To je avtomobil, ki ga upravlja Bluetooth, ki je za komunikacijo z mobilnim telefonom uporabljal modul Bluetooth HC-05. Avto lahko upravljamo z mobilnim telefonom prek Bluetootha. Obstaja aplikacija za nadzor gibanja avtomobila
Vadnica: Kako uporabljati senzor za zaznavanje barv RGB TCS230 z Arduino UNO: 3 koraki
Vadnica: Kako uporabljati senzor za zaznavanje barv RGB TCS230 z Arduino UNO: Opis: Ta vadnica vam bo pokazala nekaj preprostih korakov o tem, kako uporabljati senzor za zaznavanje barv RGB z uporabo Arduino Uno. Na koncu te vadnice boste dobili številne rezultate primerjave med nekaj barvami
Barvni stroj za zaznavanje barv: 4 koraki
Barvni stroj za zaznavanje barv: stroj za barvanje za zaznavanje barv kopira barve okoli vas in vam omogoča risanje z njimi. Če imate barvo osnovnih barv, lahko z barvnim senzorjem RGB zaznate želeno barvo in jo premešate. Ne pozabite pa, da uporabite predmet svetle barve
Odkrivanje barv v Pythonu z uporabo OpenCV: 8 korakov
Zaznavanje barv v Pythonu z uporabo OpenCV: Pozdravljeni! To navodilo se uporablja za navodila, kako izvleči določeno barvo iz slike v pythonu z uporabo knjižnice openCV. Če ste novi v tej tehniki, potem ne skrbite, na koncu tega priročnika boste lahko programirali svojo barvo
Kako enostavno spremeniti znak "Light/LED" za enostavno programiranje Arduino: 7 korakov (s slikami)
Kako enostavno spremeniti znak "Light/LED" za enostavno programiranje Arduino: V tem navodilu bom pokazal, kako lahko vsakdo nekaj z lučmi spremeni v programabilne arduino utripajoče luči ali " premične luči "