Përmbajtje:
- Furnizimet
- Hapi 1: Importimi i bibliotekave
- Hapi 2: Krijimi i shiritave të gjurmëve
- Hapi 3: Krijimi i TrackBars për Ngjyrën, Ngopjen dhe Vlerën
- Hapi 4: Si të lexoni dhe ndryshoni madhësinë e figurës
- Hapi 5: Leximi i vlerave të shiritit të gjurmëve për ta zbatuar atë në një imazh
- Hapi 6: Shfaqja e imazhit dhe vendosja e kufirit të sipërm dhe të poshtëm
- Hapi 7: Tani Hapi Final
- Hapi 8: Rezultatet përfundimtare
Video: Zbulimi i ngjyrave në Python duke përdorur OpenCV: 8 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:13
Përshëndetje! Ky udhëzues përdoret për të udhëzuar se si të nxjerrë një ngjyrë të veçantë nga një imazh në python duke përdorur bibliotekën openCV. Nëse jeni i ri në këtë teknikë, atëherë mos u shqetësoni, në fund të këtij udhëzuesi do të jeni në gjendje të programoni programin tuaj të zbulimit të ngjyrave.
Më poshtë janë funksionet ose mund të themi teknika të cilat do të mësoni, 1. Si të lexoni një imazh
2. Si të krijoni Track Bars
3. Si të rregulloni vlerën e Ngjyrës, Ngopjes dhe vlerës së një imazhi duke përdorur shiritat e pistave
4. Dhe pastaj do të ketë daljen tuaj përfundimtare
Ju mund të shikoni videon e daljes të cilën e kam bashkangjitur më poshtë.
Pra, le të fillojmë
Furnizimet
- Python 3
- biblioteka openCV
- bibliotekë e mpirë
Hapi 1: Importimi i bibliotekave
Imazhi është i ferrarit të verdhë siç tregohet dhe ne do të programojmë të nxjerrim vetëm ngjyrë të verdhë nga ai imazh
Hapi i parë do të jetë importimi i bibliotekave tona
1. Përfshirë bibliotekën openCV. Quhet cv2 në python
2. Përfshirë bibliotekën numpy si np. "Si" na lejojë të na mpirë si np, kështu që nuk ka nevojë të shkruajmë numpy përsëri dhe përsëri
Hapi 2: Krijimi i shiritave të gjurmëve
Shiritat e gjurmëve janë krijuar për të rregulluar vlerën e Ngjyrës, Ngopjes dhe Vlerës në një imazh.
cv2.namedWindow ("TrackBars") Kjo linjë kodi përdoret për të krijuar një dritare të re dalëse dhe emri i dritares jepet si TrackBars (Mund të jepni çdo emër që dëshironi)
cv2.resizeWindow ("TrackBars", 600, 250) Ky funksion përdoret për të ndryshuar madhësinë e një dritareje. "TrackBars" është për cilën dritare doni të ndryshoni madhësinë pasi unë doja të ndryshoja madhësinë e dritares TrackBars e kam shkruar atë emër. E ndjekur nga dy numra të plotë. Ato dy numra të plotë janë gjerësia dhe lartësia. Mund të luani me ata dy numra për të ndryshuar madhësinë
Hapi 3: Krijimi i TrackBars për Ngjyrën, Ngopjen dhe Vlerën
Tani do të krijojmë gjithsej 6 TrackBars për Ngjyrën, Ngopjen dhe Vlerën. Secila do të ketë dy, domethënë 1 për minimumin dhe 1 për maksimumin. Ne do të përdorim funksionin createTrackbar të openCV. Së pari do të shohim sintaksën e këtij funksioni.
cv2.createTrackbar ("WINDOWNAME", "MAINWINDOWNAME", "RANGE"). Kjo mund të jetë konfuze, por mos u shqetësoni, ne do të kalojmë në çdo hap. Mbani parasysh një gjë se në openCV vlerat e ngjyrës janë 179, ngopja është 255 dhe vlera është 255
1. Krijimi i TrackBar për hue min:
cv2.createTrackbar ("Hue min", "TrackBars", 0, 179, bosh)
Në këtë Hue min është emri i shiritit, TrackBars është dritarja kryesore, 0 është pozicioni në të cilin do të jetë rrëshqitësi ynë dhe 179 është diapazoni që do të thotë që silder do të lëvizë nga 0-179
2. Krijimi i TrackBar për hue max:
cv2.createTrackbar ("Hue max", "TrackBars", 179, 179, bosh)
Në këtë Hue max është emri i shiritit, TrackBars është dritarja kryesore, 179 është pozicioni në të cilin do të jetë rrëshqitësi ynë dhe 179 është diapazoni maksimal që do të thotë që silder do të lëvizë nga 179-0
3. Në mënyrë të ngjashme përsëritni hapat për sat min, sat max, val min dhe val max siç tregohet në imazh
Imazhi me sfond të bardhë është imazhi dalës. Kështu do të duken shiritat tuaj të pistave
Hapi 4: Si të lexoni dhe ndryshoni madhësinë e figurës
cv2.imread () ju lejon të lexoni imazhin. Një mendim i rëndësishëm që duhet të keni parasysh se vendndodhja e imazhit tuaj duhet të jetë në të njëjtën dosje ku ruhet programi. Ne do të vendosim lakin while sepse duhet të funksionojë derisa të lexojë imazhin ose mund të themi derisa gjendja të jetë e vërtetë
img = cv2.imread ("ferrari.jpg")
- Në këtë kam krijuar një emër të ndryshueshëm "img" në të cilin po ruaj imazhin
- Brenda cv2.imread shkruani emrin e imazhit me zgjerimin e tij brenda kuotimit të dyfishtë
Për të ndryshuar madhësinë e një imazhi ne do të përdorim funksionin cv2.resize. Kjo pjesë është opsionale, nëse doni të ndryshoni madhësinë atëherë mund ta përdorni këtë funksion
Brenda cv2.resize së pari shkruani emrin e ndryshores në të cilën ruhet imazhi dhe pastaj gjerësinë dhe lartësinë e tij
Hapi 5: Leximi i vlerave të shiritit të gjurmëve për ta zbatuar atë në një imazh
Në rregull, tani do të lexojmë vlerat e shiritit të shiritit, në mënyrë që ta zbatojmë atë në imazhin tonë. Ne do të marrim vlerat duke përdorur funksionin cv2.getTrackbarPos ().
Le të fillojmë me atë pjesë…
h_min = cv2.getTrackbarPos ("Hue min", "TrackBars")
Në deklaratën e mësipërme unë jam duke krijuar një emër të ndryshueshëm h_min në të cilin do të ruaj vlerën e Hue min. Pra brenda cv2.getTrackbarPos argumenti i parë do të ishte "Hue min" sepse dua vlerat e hue min (Shkrimi duhet të jetë saktësisht i njëjtë me funksionin e krijimitTrackbar) dhe argumenti i dytë do të ishte emri i dritares së shiritit të cilës i përket.
- Përsëriteni të njëjtin proces për h_max dhe pjesën tjetër të funksioneve siç tregohet në imazhin e mësipërm dhe më pas printoni të gjitha vlerat duke përdorur print ()
- Dalja tregohet në imazhin e dytë. Po shtyp vlerat e h_min, h_max, s_min, s_max, v_min, s_max
Hapi 6: Shfaqja e imazhit dhe vendosja e kufirit të sipërm dhe të poshtëm
Tani kemi vlerën minimale dhe maksimale të ngjyrës, ngopjes dhe vlerës, ne do ta përdorim këtë vlerë për të filtruar imazhin në mënyrë që të mund të nxjerrim ngjyrën e veçantë të një imazhi.
Ne do të krijojmë një maskë për këtë duke përdorur funksionin cv2.inRange. Dhe para kësaj ne do të vendosim kufirin e sipërm dhe të poshtëm të ngjyrës, ngopjes dhe vlerës
Pra, krijoni një emër të ndryshueshëm "më të ulët" dhe duke përdorur funksionin e grupit numpy vendosni diapazonin e min për të 3 si më poshtë
më e ulët = np. array ([h_min, s_min, v_min])
Përsëriteni të njëjtin hap për pjesën e sipërme
sipërme = np. array ([h_max, s_max, v_max])
Tani do të krijojmë një maskë si më poshtë
mask = cv2.inRange (ndrysho madhësinë, më të ulëtën, sipërme) Brenda cv2.inRang argumenti i parë do të ishte ndryshorja në të cilën ruhet imazhi im përfundimtar, argumenti i dytë do të jetë kufiri i poshtëm dhe argumenti i tretë do të ishte kufiri i sipërm.
Tani do të shfaqim imazhin dhe maskën kryesore. Për të shfaqur ne do të përdorim funksionin cv2.imshow ()
cv2.imshow ("img", ndrysho madhësinë) Kjo është për të shfaqur imazhin kryesor. Argumenti i parë është emri i dritares që mund t'i jepni çdo emër që dëshironi dhe argumenti i dytë është i ndryshueshëm në të cilin ruhet imazhi im kryesor të cilin dëshironi ta shfaqni.
Në mënyrë të ngjashme, përsëritni hapat për maskën
cv2.imshow ("Output", maskë)
Hapi 7: Tani Hapi Final
Në këtë hap të fundit ne do të nxjerrim ngjyrën e makinës dhe ekranit.
Unë kam krijuar një rezultat të emrit të ndryshueshëm. Përsëri mund të jepni çdo emër që dëshironi. Pra, ne do të përdorim funksionin cv2.bitwise_and () në të cilin do t'i shtojmë imazhet së bashku dhe do të krijojmë një imazh të ri. Dhe kudo që pikselët në të dy imazhet janë të pranishëm, do ta marrin atë si po ose "1".
rezultati = cv2.bitwise_and (ndrysho madhësinë, ndrysho madhësinë, maskë = maskë)
- Në këtë argumenti i parë do të jetë imazhi ynë
- Argumenti i dytë do të jetë gjithashtu imazhi ynë origjinal, por i ndjekur nga maska e aplikuar të cilën e kemi krijuar më parë
- Dhe së fundi vetëm shfaqni rezultatin duke përdorur funksionin imshow
Thjesht kopjoni ngjiteni këtë hap të fundit është thjesht një vonesë dhe mund të dilni nga dritarja e daljes duke shtypur "a" në tastierë
Hapi 8: Rezultatet përfundimtare
Recommended:
Zbulimi i thjeshtë i ngjyrave duke përdorur OpenCV: 6 hapa
Zbulimi i thjeshtë i ngjyrave duke përdorur OpenCV: Përshëndetje! Sot do të tregoj një metodë të thjeshtë të zbulimit të një ngjyre nga një video e drejtpërdrejtë duke përdorur OpenCV dhe python. Në thelb unë thjesht do të testoj që ngjyra e kërkuar është e pranishme në kuadrin e sfondit ose jo dhe duke përdorur modulet OpenCV do ta maskoj atë rajon dhe
Monitorimi i përshpejtimit duke përdorur Raspberry Pi dhe AIS328DQTR duke përdorur Python: 6 hapa
Monitorimi i përshpejtimit duke përdorur Raspberry Pi dhe AIS328DQTR Duke përdorur Python: Përshpejtimi është i kufizuar, mendoj sipas disa ligjeve të Fizikës.- Terry Riley Një cheetah përdor përshpejtim të mahnitshëm dhe ndryshime të shpejta në shpejtësi kur ndiqni. Krijesa më e shpejtë në breg, herë pas here, përdor ritmin e saj të lartë për të kapur prenë.
Zbulimi i objektit W/ Dragonboard 410c ose 820c Duke përdorur OpenCV dhe Tensorflow .: 4 hapa
Zbulimi i Objekteve W/ Dragonboard 410c ose 820c Duke përdorur OpenCV dhe Tensorflow .: Ky udhëzues përshkruan se si të instaloni kornizat OpenCV, Tensorflow dhe mësimin e makinerisë për Python 3.5 për të ekzekutuar aplikacionin Object Detection
Zbulimi i pengesave RoboCar i përdorur nga smartphone duke përdorur Arduino: 5 hapa
Zbulimi i Pengesave me Smartphone të operuar RoboCar duke përdorur Arduino: Në këtë projekt ne kemi bërë një Robocar në të cilin dy sensorë tejzanor, një modul bluetooth është ndërlidhur me Arduino
Zbulimi i ngjyrave duke përdorur LED RGB: 4 hapa
Zbulimi i ngjyrave duke përdorur LED RGB: A keni kërkuar ndonjëherë një mënyrë të automatizuar për të zbuluar ngjyrën e një objekti? Duke ndriçuar dritën e një ngjyre të caktuar në objekt dhe duke parë se sa dritë reflektohet prapa, mund të tregoni se çfarë ngjyre është objekti. Për shembull, nëse ndizni një dritë të kuqe