Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Kirjastojen tuonti
- Vaihe 2: Jälkipalkkien luominen
- Vaihe 3: Ohjauspalkkien luominen värisävylle, kylläisyydelle ja arvolle
- Vaihe 4: Kuvan lukeminen ja koon muuttaminen
- Vaihe 5: Seuraa palkin arvoja sen käyttämiseksi kuvassa
- Vaihe 6: Kuvan näyttäminen ja ylä- ja alarajan asettaminen
- Vaihe 7: Nyt viimeinen vaihe
- Vaihe 8: Lopulliset lähdöt
Video: Värin tunnistus Pythonissa OpenCV: n avulla: 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Hei! Tätä ohjetta käytetään opastamaan, kuinka tietty väri voidaan purkaa kuvasta pythonissa openCV -kirjaston avulla. Jos et ole vielä perehtynyt tähän tekniikkaan, älä huoli, tämän oppaan lopussa voit ohjelmoida oman värintunnistusohjelmasi.
Seuraavat toiminnot tai voimme sanoa tekniikoita, joita opit, 1. Kuinka lukea kuva
2. Raidatankojen luominen
3. Kuinka säätää värisävyn, värikylläisyyden ja kuvan arvoa raitapalkkien avulla
4. Ja sitten on lopputulos
Voit katsoa alla olevan videon lähdöstä.
Aloitetaan siis
Tarvikkeet
- Python 3
- openCV -kirjasto
- numpy kirjasto
Vaihe 1: Kirjastojen tuonti
Kuva on keltainen ferrari, kuten näytetään, ja ohjelmoimme poimimaan vain keltaisen värin kuvasta
Ensimmäinen askel on kirjastojen tuonti
1. Sisältää openCV -kirjaston. Sitä kutsutaan cv2: ksi pythonissa
2. Sisältää numpy -kirjaston np: ksi. "As" sallii meille numpy np: nä, joten numpy ei tarvitse kirjoittaa uudestaan ja uudestaan
Vaihe 2: Jälkipalkkien luominen
Jälkipalkit luodaan säätämään kuvan värisävyä, kylläisyyttä ja arvoa.
cv2.namedWindow ("TrackBars") Tätä koodiriviä käytetään uuden tulostusikkunan luomiseen ja ikkunan nimi on TrackBars (Voit antaa minkä tahansa nimen)
cv2.resizeWindow ("TrackBars", 600, 250) Tätä toimintoa käytetään ikkunan koon muuttamiseen. "TrackBars" on minkä ikkunan kokoa haluat muuttaa, koska halusin muuttaa TrackBars -ikkunan kokoa. Kirjoitin tämän nimen. Seuraavat kaksi kokonaislukua. Nämä kaksi kokonaislukua ovat leveys ja korkeus. Voit leikkiä näiden kahden numeron kanssa muuttaaksesi kokoa
Vaihe 3: Ohjauspalkkien luominen värisävylle, kylläisyydelle ja arvolle
Nyt luomme yhteensä 6 Trackbaria värisävyyn, kylläisyyteen ja arvoon. Jokaisessa on kaksi eli 1 vähintään ja yksi enintään. Käytämme openCV: n createTrackbar -toimintoa. Ensin näemme tämän funktion syntaksin.
cv2.createTrackbar ("WINDOWNAME", "MAINWINDOWNAME", "RANGE"). Tämä saattaa olla hämmentävää, mutta älä huoli, käymme läpi jokaisen vaiheen. Muista yksi asia, että openCV -värisävyn arvot ovat 179, kylläisyys on 255 ja arvo on 255
1. TrackBarin luominen värisävyyn min:
cv2.createTrackbar ("Hue min", "TrackBars", 0, 179, tyhjä)
Tässä värisävyssä min on ohjauspalkin nimi, TrackBars on pääikkuna, 0 on sijainti, jossa liukusäädintämme on ja 179 on alue tarkoittaa, että silder siirtyy 0-179
2. TrackBarin luominen hue max: lle:
cv2.createTrackbar ("Hue max", "TrackBars", 179, 179, tyhjä)
Tässä Hue max on ohjauspalkin nimi, TrackBars on pääikkuna, 179 on liukusäätimen sijainti ja 179 on suurin kantama tarkoittaa, että silder siirtyy 179-0
3. Toista samalla tavalla vaiheet sat min, sat max, val min ja val max, kuten kuvassa
Valkoinen taustakuva on lähtökuva. Tältä palkkisi näyttävät
Vaihe 4: Kuvan lukeminen ja koon muuttaminen
cv2.imread () avulla voit lukea kuvan. Yksi tärkeä ajatus sinun on pidettävä mielessä, että kuvan sijainnin on oltava samassa kansiossa, johon ohjelma tallennetaan. Lisäämme while -silmukan, koska sen pitäisi toimia, kunnes se lukee kuvaa tai voimme sanoa, kunnes ehto on totta
img = cv2.imread ("ferrari.jpg")
- Tässä olen luonut muuttujan nimen "img", johon tallennan kuvan
- Kirjoita cv2.imread -tiedoston sisälle kuvan nimi ja sen laajennus lainausmerkin sisään
Kuvan koon muuttamiseen käytämme cv2.resize -toimintoa. Tämä osa on valinnainen, jos haluat muuttaa kokoa, voit käyttää tätä toimintoa
Kirjoita cv2.resize -tiedostoon ensin muuttujan nimi, johon kuva on tallennettu, ja sitten sen leveys ja korkeus
Vaihe 5: Seuraa palkin arvoja sen käyttämiseksi kuvassa
Ok, nyt luemme trackbar -palkin arvot, jotta voimme soveltaa sitä kuvaamme. Saamme arvot käyttämällä cv2.getTrackbarPos () -funktiota.
Aloitetaan siitä osasta…
h_min = cv2.getTrackbarPos ("Hue min", "TrackBars")
Yllä olevassa lausunnossa luon muuttujan nimen h_min, johon tallennan Hue min. Joten sisällä cv2.getTrackbarPos 1. argumentti olisi "Hue min", koska haluan värisävyn min arvot (oikeinkirjoituksen on oltava täsmälleen sama kuin se on createTrackbar -toiminto) ja toinen argumentti olisi sen trackbar -ikkunan nimi, johon se kuuluu.
- Toista sama prosessi h_max- ja muille toiminnoille, kuten yllä olevassa kuvassa, ja tulosta sitten kaikki arvot käyttämällä print ()
- Lähtö näkyy toisessa kuvassa. Se tulostaa arvot h_min, h_max, s_min, s_max, v_min, s_max
Vaihe 6: Kuvan näyttäminen ja ylä- ja alarajan asettaminen
Nyt meillä on värisävyn, värikylläisyyden ja arvon minimi- ja maksimiarvo, jota käytämme tämän arvon suodattamiseksi pois kuvasta, jotta voimme tuottaa kuvan tietyn värin.
Luomme sille maskin cv2.inRange -funktiolla. Ja sitä ennen asetamme sävyn, kylläisyyden ja arvon ylä- ja alarajan
Luo siis muuttujan nimi "alempi" ja käytä numpy -matriisitoimintoa min -alue kaikille 3 seuraavasti
alempi = np.array ([h_min, s_min, v_min])
Toista sama vaihe ylemmälle
ylempi = np.array ([h_max, s_max, v_max])
Nyt luomme naamion seuraavasti
maski = cv2.inRange (kokoa, alempi, ylempi) cv2.inRangin sisällä 1. argumentti olisi muuttuja, johon lopullinen kuvani on tallennettu, toinen argumentti on alaraja ja kolmas argumentti olisi yläraja.
Nyt aiomme näyttää pääkuvan ja maskin. Näyttöön käytämme funktiota cv2.imshow ()
cv2.imshow ("img", koon muuttaminen) Tällä näytetään pääkuva. Ensimmäinen argumentti on sen ikkunan nimi, jolle voit antaa minkä tahansa nimen ja toinen argumentti on muuttuja, johon pääkuvani on tallennettu ja jonka haluat näyttää.
Toista samalla tavalla maskin kohdalla
cv2.imshow ("Lähtö", peite)
Vaihe 7: Nyt viimeinen vaihe
Tässä viimeisessä vaiheessa poimimme auton ja näytön värit.
Olen luonut muuttujan nimen tuloksen. Jälleen voit antaa haluamasi nimen. Joten käytämme cv2.bitwise_and () -funktiota, jossa lisäämme kuvia yhdessä ja luomme uuden kuvan. Ja missä tahansa pikseliä molemmissa kuvissa on, se pitää sitä kyllä tai "1".
tulos = cv2.bitwise_and (koon muuttaminen, koon muuttaminen, naamio = naamio)
- Tässä ensimmäinen argumentti on meidän kuva
- Toinen argumentti on myös alkuperäinen kuva, mutta sitä seuraa aiemmin luomamme maski
- Ja lopuksi vain näyttää tulos käyttämällä imshow -toimintoa
Kopioi liitä tämä viimeinen vaihe, se on vain viive ja voit poistua tulostusikkunasta painamalla näppäimistön "a" -painiketta
Vaihe 8: Lopulliset lähdöt
Suositeltava:
QR -koodinlukija OpenCV: n avulla Pythonissa: 7 vaihetta
QR-koodinlukija OpenCV: n avulla Pythonissa: Nykymaailmassa näemme, että QR-koodia ja viivakoodia käytetään lähes kaikkialla tuotteen pakkaamisesta verkkomaksuihin, ja nykyään näemme QR-koodit jopa ravintolassa nähdäksemme valikon. epäile, että se on nyt iso ajatus. Mutta oletko koskaan kärsinyt
Tähtien tunnistus tietokonevision avulla (OpenCV): 11 vaihetta (kuvien kanssa)
Tähtien tunnistaminen Computer Vision (OpenCV) -toiminnon avulla: Tässä ohjeessa kerrotaan, miten voit luoda tietokoneen visio -ohjelman, joka tunnistaa automaattisesti tähtikuviot kuvassa. Menetelmä luo OpenCV (Open-Source Computer Vision) -kirjaston avulla joukon koulutettuja HAAR-kaskadeja, jotka voidaan
Yksinkertainen värin tunnistus OpenCV: llä: 6 vaihetta
Yksinkertainen värin tunnistus OpenCV: n avulla: Hei! Tänään aion näyttää yksinkertaisen menetelmän havaita väri live -videosta OpenCV: tä ja pythonia käyttäen. Periaatteessa testaan vain, että vaadittu väri on taustakehyksessä vai ei, ja peitän OpenCV -moduulien avulla kyseisen alueen ja
Kasvojen tunnistus ja tunnistus - Arduino -kasvotunnus OpenCV Pythonin ja Arduinon avulla .: 6 vaihetta
Kasvojen tunnistus ja tunnistus | Arduino -kasvotunnus OpenCV Pythonin ja Arduinon avulla .: Kasvontunnistus AKA -kasvotunnus on yksi tärkeimmistä ominaisuuksista matkapuhelimissa nykyään. Joten minulla oli kysymys " voinko saada kasvotunnuksen Arduino -projektilleni " ja vastaus on kyllä … Matkani alkoi seuraavasti: Vaihe 1: Pääsy
Värin tunnistus RGB -LED -valolla: 4 vaihetta
Värin tunnistus RGB -LED -valon avulla: Oletko koskaan halunnut automaattisen tavan havaita kohteen väri? Loistamalla tietyn värin valoa esineeseen ja katsomalla kuinka paljon valoa heijastuu takaisin, voit kertoa, minkä värinen kohde on. Jos esimerkiksi palaa punainen valo