Talaan ng mga Nilalaman:
- Hakbang 1: Ang Mga File ng Header
- Hakbang 2: Pagkuha ng Video
- Hakbang 3: Pagkuha ng Frame at Pagtukoy sa Kulay
- Hakbang 4: Masking at Extracting
- Hakbang 5: Sa wakas Ipinapakita
- Hakbang 6: Demo
Video: Simpleng Pagtuklas ng Kulay Gamit ang OpenCV: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Hi! Ngayon ay magpapakita ako ng isang simpleng pamamaraan ng pagtuklas ng isang kulay mula sa isang live na video gamit ang OpenCV at sawa.
Karaniwan ay susubukan ko lamang ang kinakailangang kulay na naroroon sa background frame o hindi at gamit ang mga module ng OpenCV ay tatakpan ko ang rehiyon na iyon at sabay na ipinapakita ang frame.
Hakbang 1: Ang Mga File ng Header
Ngayon narito na ginamit ko ang dalawang mga file ng header na cv2 at NumPy. Talaga cv2 ay ang OpenCV library na naglo-load ng lahat ng mga c ++ file na mahalaga habang ginagamit ang mga utos sa mga code (naglalaman ito ng lahat ng mga kahulugan).
At ang Numpy ay isang python library na mahalaga para sa pag-iimbak ng isang multidimensional array. Gagamitin namin upang maiimbak ang aming mga co-ordinate sa hanay ng kulay.
At ang numpy bilang np ay karaniwang tumutulong sa aming code upang paikliin ang kaunti sa pamamagitan ng paggamit ng np sa bawat oras sa halip na numpy.
Hakbang 2: Pagkuha ng Video
Ito ay medyo simple habang gumagamit ng sawa. Dito kailangan lang naming i-on ang video recorder upang masimulan itong mag-record ng mga frame.
Ngayon ang halaga sa loob ng VideoCapture ay nagpapahiwatig ng camera, sa aking kaso ang camera ay konektado sa aking laptop, kaya 0.
Maaari kang pumunta nang katulad sa 1 para sa pangalawang camera at iba pa. Lumilikha ang VideoCapture ng object para dito.
Hakbang 3: Pagkuha ng Frame at Pagtukoy sa Kulay
Ngayon narito kailangan nating gumawa ng isang bagay upang makuha natin ang instant na frame ng video na makakatulong sa amin na makuha ang imahe at maaari naming itong paganahin ayon sa kinakailangan.
"habang" loop ay makakatulong sa amin upang patakbuhin ang loop sa aming oras ng kinakailangan. Ngayon ang "_, frame = cap.read ()" ay ginagamit upang suriin ang bisa ng Frame na nakuha at iniimbak ito. Ang "cap.read () ay isang variable ng boolean at nagbabalik ng totoo kung basahin nang tama ang frame at kung hindi ka makakakuha ng mga frame hindi ito magpapakita ng anumang error, makakakuha ka lang ng Wala.
Ngayon ang linya 11 at linya 12 ay karaniwang tumutukoy sa saklaw ng kulay na kailangan nating tuklasin. Para sa mga ito, nakasanayan ko na ang asul na kulay.
Maaari kang magpatuloy sa anumang kulay para sa kailangan mong i-type lamang ang mga halaga ng BGR para sa partikular na kulay. Mas mahusay na tukuyin ang dalawang mga pag-array gamit ang mga numpy arrays tulad ng pagtuklas ng isang partikular na kulay sa totoong mundo ay hindi magsisilbi sa aming layunin sa halip ay tutukuyin namin ang isang hanay ng asul na kulay upang makita nito sa loob ng saklaw.
Para sa mga ito, tinukoy ko ang dalawang variable na nag-iimbak ng mas mababang mga halaga ng BGR at mas mataas na mga halaga ng BGR.
Hakbang 4: Masking at Extracting
Ngayon narito ang pangunahing gawain ng masking frame at pagkuha ng kulay ng frame. Ginamit ko ang paunang natukoy na mga utos na naroroon sa library sa OpenCV upang gawin ang masking. Karaniwan ang masking ay ang proseso ng pag-alis ng ilang bahagi ng frame, ie aalisin namin ang mga pixel na ang kulay na mga halaga ng BGR na hindi namamalagi sa tinukoy na saklaw ng kulay at ginagawa ito ng cv2.inRange. Pagkatapos, inilalapat namin ang saklaw ng kulay sa naka-mask na imahe depende sa mga halaga ng pixel at para dito, gagamitin namin ang cv2.bitwise_and, Itatalaga lang nito ang mga kulay sa masked na rehiyon depende sa mga halaga ng mask at saklaw ng kulay.
Link para sa cv2. bitwise_and:
Hakbang 5: Sa wakas Ipinapakita
Dito ko ginamit ang pangunahing cv2.imshow () para sa pagpapakita para sa bawat frame bilang isang imahe. Dahil mayroon akong data ng frame na nakaimbak sa mga variable na maaari kong makuha ang mga ito sa imshow (). Dito ko naipakita ang lahat ng tatlong mga frame, orihinal, nakamaskara, at may kulay.
Ngayon kailangan nating lumabas mula sa habang loop. Para sa mga ito, maaari naming ipatupad nang simple ang cv2.wait. Key (). Karaniwang sinasabi nito ang oras ng paghihintay bago tumugon. Kaya't kung pumasa ka sa 0 maghihintay ito nang walang hanggan at sinabi ng 0xFF na ang arkitektura ay 64bit. Tinutukoy ng "ord ()" ang character na kapag pinindot ay isasagawa ang break command kung block at lalabas ito sa loop.
Pagkatapos ay isara ng cap.release () ang recorder ng video at cv2.destroyAllWindows () isara ang lahat ng binuksan na mga bintana.
Kung mayroon kang anumang isyu, mangyaring ipaalam sa akin.
Link sa source code:
Inirerekumendang:
Pagpoproseso ng Imahe Gamit ang Raspberry Pi: Pag-install ng OpenCV at Paghihiwalay ng Kulay ng Imahe: 4 na Hakbang
Pagpoproseso ng Imahe Gamit ang Raspberry Pi: Pag-install ng OpenCV at Paghihiwalay ng Kulay ng Imahe: Ang post na ito ay ang una sa maraming mga tutorial sa pagproseso ng imahe na susundan. Masusing pagtingin namin sa mga pixel na bumubuo ng isang imahe, matutunan kung paano i-install ang OpenCV sa Raspberry Pi at nagsusulat din kami ng mga script ng pagsubok upang makuha ang isang imahe at c
Pagtuklas ng Kulay sa Python Gamit ang OpenCV: 8 Hakbang
Pagtuklas ng Kulay sa Python Gamit ang OpenCV: Kamusta! Ang itinuturo na ito ay ginagamit upang gabayan kung paano kumuha ng isang tukoy na kulay mula sa isang imahe sa sawa gamit ang openCV library. Kung ang iyong bago sa diskarteng ito pagkatapos ay huwag magalala, sa pagtatapos ng gabay na ito magagawa mong i-program ang iyong sariling kulay
Pagtuklas ng Bagay W / Dragonboard 410c o 820c Gamit ang OpenCV at Tensorflow .: 4 na Hakbang
Pagtuklas ng Bagay W / Dragonboard 410c o 820c Paggamit ng OpenCV at Tensorflow .: Inilalarawan ng mga itinuturo na ito kung paano i-install ang OpenCV, Tensorflow, at mga framework ng pag-aaral ng machine para sa Python 3.5 upang patakbuhin ang application ng Pagtuklas ng Bagay
Baguhin ang Mga Kulay ng LED Gamit ang isang POT at ATTINY85: 3 Mga Hakbang
Baguhin ang Mga Kulay ng LED Gamit ang isang POT at ATTINY85: Sa proyektong ito gumagamit kami ng potentiometer (POT) upang baguhin ang mga kulay sa isang LED gamit ang isang ATTINY85. Ang ilang mga kahulugan - Ang potensyomiter ay isang aparato na may isang maliit na mekanismo ng turnilyo / pagikot na kung saan ay nagbubunga ng iba't ibang mga de-koryenteng resistensya. Ikaw ay
Pagtuklas ng Kulay Gamit ang RGB LED: 4 Hakbang
Pagtuklas ng Kulay Gamit ang RGB LED: Nais mo na bang isang awtomatikong paraan upang makita ang kulay ng isang bagay? Sa pamamagitan ng nagniningning na ilaw ng isang tiyak na kulay sa bagay at pagtingin sa kung gaanong ilaw ang makikita, maaari mong sabihin kung ano ang kulay ng bagay. Halimbawa, kung sumasalamin ka ng isang pulang ilaw o