Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Kuingiza Maktaba
- Hatua ya 2: Kuunda Baa za Kufuatilia
- Hatua ya 3: Kuunda TrackBars kwa Hue, Kueneza na Thamani
- Hatua ya 4: Jinsi ya Kusoma na Kurekebisha Picha
- Hatua ya 5: Kusoma Thamani za Bar ya Kufuatilia Kuitumia kwenye Picha
- Hatua ya 6: Kuonyesha Picha na Kuweka Kikomo cha Juu na Chini
- Hatua ya 7: Sasa Hatua ya Mwisho
- Hatua ya 8: Matokeo ya Mwisho
Video: Kugundua Rangi kwenye Python Kutumia OpenCV: Hatua 8
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Halo! Inayoweza kufundishwa hutumiwa kuongoza na jinsi ya kutoa rangi maalum kutoka kwenye picha kwenye chatu ukitumia maktaba ya openCV. Ikiwa mpya kwa mbinu hii basi usijali, mwisho wa mwongozo huu utaweza kupanga mpango wako mwenyewe wa kugundua rangi.
Zifuatazo ni kazi au tunaweza kusema mbinu ambazo utajifunza, 1. Jinsi ya kusoma picha
2. Jinsi ya kuunda Track Baa
3. Jinsi ya kurekebisha thamani ya Hue, Kueneza na thamani ya picha kwa kutumia baa za wimbo
4. Na kisha kutakuwa na pato lako la mwisho
Unaweza kutazama video ya pato ambalo nimeambatanisha hapa chini.
Basi wacha tuanze
Vifaa
- Python 3
- maktaba ya openCV
- maktaba numpy
Hatua ya 1: Kuingiza Maktaba
Picha hiyo ni ya ferrari ya manjano kama inavyoonyeshwa na tutapanga kutoa rangi ya manjano tu kutoka kwenye picha hiyo
Hatua ya kwanza itakuwa kuagiza maktaba zetu
1. Ikiwa ni pamoja na maktaba ya openCV. Inaitwa cv2 katika chatu
2. Ikiwa ni pamoja na maktaba ya numpy kama np. "As" inatuwezesha sisi numpy kama np kwa hivyo hakuna haja ya kuandika numpy tena na tena
Hatua ya 2: Kuunda Baa za Kufuatilia
Orodha ya Baa imeundwa kurekebisha thamani ya Hue, Kueneza na Thamani kwenye picha.
cv2.namedWindow ("TrackBars") Mstari huu wa nambari hutumiwa kuunda dirisha mpya la pato na jina la dirisha limepewa kama TrackBars (Unaweza kutoa jina lolote unalotaka)
cv2.resizeWindow ("TrackBars", 600, 250) Kazi hii hutumiwa kurekebisha dirisha. "TrackBars" ni kwa dirisha gani unataka kubadilisha ukubwa kwani nilitaka kurekebisha ukubwa wa TrackBars niliyoandika jina hilo. Ikifuatiwa na nambari mbili. Namba mbili hizo ni upana na urefu. Unaweza kucheza karibu na hizo nambari mbili kubadilisha saizi
Hatua ya 3: Kuunda TrackBars kwa Hue, Kueneza na Thamani
Sasa tutatengeneza TrackBars jumla ya 6 kwa Hue, Kueneza na thamani. Kila mmoja atakuwa na mbili yaani 1 kwa kiwango cha chini na 1 kwa kiwango cha juu. Tutatumia kazi ya kuundaTrackbar ya openCV. Kwanza tutaona sintaksia ya kazi hii.
cv2.createTrackbar ("WINDOWNAME", "MAINWINDOWNAME", "RANGE"). Hii inaweza kutatanisha lakini usijali tutapitia kila hatua. Kumbuka jambo moja kuwa katika viwango vya wazi vya hue ni 179, kueneza ni 255 na thamani ni 255
1. Kuunda TrackBar kwa min hue:
cv2.createTrackbar ("Hue min", "TrackBars", 0, 179, tupu)
Katika hii Hue min ni jina la trackbar, TrackBars ndio dirisha kuu, 0 ndio msimamo ambao kitelezi chetu kitakuwa na 179 ndio anuwai inamaanisha mtembezi atahama kutoka 0-179
2. Kuunda TrackBar kwa hue max:
cv2.createTrackbar ("Hue max", "TrackBars", 179, 179, tupu)
Katika Hue max hii ni jina la trackbar, TrackBars ndio dirisha kuu, 179 ni msimamo ambao kitelezi chetu kitakuwa na 179 ndio upeo wa juu inamaanisha mtembezi atahama kutoka 179-0
3. Vivyo hivyo rudia hatua za kukaa kwa dakika, kukaa kwa kiwango cha juu, val min na val max kama inavyoonyeshwa kwenye picha
Picha iliyo na asili nyeupe ni picha ya pato. Hivi ndivyo baa zako za wimbo zitaonekana
Hatua ya 4: Jinsi ya Kusoma na Kurekebisha Picha
cv2.imread () hukuruhusu kusoma picha. Fikiria moja muhimu unahitaji kukumbuka kuwa eneo la picha yako lazima liwe kwenye folda moja ambapo programu imehifadhiwa. Tutaweka wakati kitanzi kwa sababu inapaswa kukimbia hadi inasoma picha au tunaweza kusema hadi hali hiyo iwe ya kweli
img = cv2.imread ("ferrari.jpg")
- Katika hili nimeunda jina linalobadilika "img" ambalo ninahifadhi picha
- Ndani ya cv2.imread andika jina la picha na ugani ndani ya nukuu mara mbili
Kubadilisha ukubwa wa picha tutatumia kazi ya cv2.resize. Sehemu hii ni ya hiari, ikiwa unataka kubadilisha ukubwa basi unaweza kutumia kazi hii
Ndani ya cv2.resize kwanza andika jina linalobadilika ambalo picha imehifadhiwa na kisha upana na urefu
Hatua ya 5: Kusoma Thamani za Bar ya Kufuatilia Kuitumia kwenye Picha
Ok hivyo sasa tutasoma maadili ya upau wa trackbar ili tuweze kuitumia kwa picha yetu. Tutapata maadili kwa kutumia kazi ya cv2.getTrackbarPos ().
Wacha tuanze na sehemu hiyo…
h_min = cv2.getTrackbarPos ("Hue min", "TrackBars")
Katika taarifa hiyo hapo juu ninaunda jina la kutofautisha h_min ambalo nitahifadhi thamani ya Hue min. Kwa hivyo ndani ya hoja ya cv2.getTrackbarPos 1 itakuwa "Hue min" kwa sababu nataka maadili ya hue min (tahajia lazima iwe sawa sawa na ni kazi ya kuundaTrackbar) na hoja ya 2 itakuwa jina la dirisha la trackbar ambalo ni mali.
- Rudia mchakato huo kwa h_max na kazi zingine kama inavyoonyeshwa kwenye picha hapo juu na kisha uchapishe maadili yote kwa kutumia chapa ()
- Pato linaonyeshwa kwenye picha ya pili. Inachapisha maadili ya h_min, h_max, s_min, s_max, v_min, s_max
Hatua ya 6: Kuonyesha Picha na Kuweka Kikomo cha Juu na Chini
Sasa tuna thamani ya min na max ya hue, kueneza na thamani tutatumia dhamana hii kuchuja picha ili tuweze kutoa pato fulani la picha.
Tutaunda kinyago kwa hii kutumia kazi ya cv2.inRange. Na kabla ya hapo tutaweka kikomo cha juu na cha chini cha hue, kueneza na thamani
Kwa hivyo tengeneza jina la kutofautisha "chini" na utumie kazi ya safu ya numpy weka kiwango cha min kwa wote 3 kama ifuatavyo
chini = np.raray ([h_min, s_min, v_min])
Rudia hatua sawa kwa juu
juu = np.raray ([h_max, s_max, v_max])
Sasa tutaunda kinyago kama ifuatavyo
mask = cv2.inRange (saizi, chini, juu) Ndani ya cv2.inPanga hoja ya 1 itakuwa tofauti ambayo picha yangu ya mwisho imehifadhiwa, hoja ya 2 itakuwa kikomo cha chini na hoja ya 3 itakuwa kikomo cha juu.
Sasa tutaonyesha picha kuu na kinyago. Kuonyesha tutatumia kazi ya cv2.imshow ()
cv2.imshow ("img", resize) Hii ni kuonyesha picha kuu. Hoja ya 1 ni jina la dirisha ambalo unaweza kutoa jina lolote unalotaka na hoja ya 2 ni tofauti ambayo picha yangu kuu imehifadhiwa ambayo unataka kuonyesha.
Vivyo hivyo kurudia hatua za kinyago
cv2.imshow ("Pato", kinyago)
Hatua ya 7: Sasa Hatua ya Mwisho
Katika hatua hii ya mwisho tutatoa rangi ya gari na kuonyesha.
Nimeunda matokeo ya jina inayobadilika. Tena unaweza kutoa jina lolote unalotaka. Kwa hivyo tutatumia kazi ya cv2.bitwise_and () ambayo tutaongeza kwenye picha pamoja na kuunda picha mpya. Na popote saizi katika picha zote mbili zipo itachukua hiyo kama ndiyo au "1".
matokeo = cv2.bitwise_and (resize, resize, mask = mask)
- Katika hii hoja ya 1 itakuwa picha yetu
- Hoja ya 2 pia itakuwa picha yetu ya asili lakini ikifuatiwa na kinyago kilichotumiwa ambacho tuliunda hapo awali
- Na mwishowe onyesha tu matokeo ukitumia kazi ya imshow
Nakili tu kubandika hatua hii ya mwisho ni ucheleweshaji tu na unaweza kutoka kwenye dirisha la pato kwa kubonyeza "a" kwenye kibodi
Hatua ya 8: Matokeo ya Mwisho
Ilipendekeza:
Mashine ya Rangi ya Kugundua Rangi: Hatua 4
Mashine ya Rangi ya Kugundua Rangi: Mashine ya rangi ya kugundua rangi inazunguka rangi karibu na wewe na hukuruhusu uchora nao. Ikiwa una rangi ya rangi ya msingi, unaweza kutumia sensa ya rangi ya RGB kuhisi rangi unayotaka na kuichanganya. Lakini kumbuka, tumia kitu chenye rangi-mkali
Kugundua Rangi Rahisi Kutumia OpenCV: Hatua 6
Kugundua Rangi Rahisi Kutumia OpenCV: Hi! Leo nitaonyesha njia rahisi ya kugundua rangi kutoka kwa video ya moja kwa moja kwa kutumia OpenCV na chatu. Kimsingi nitajaribu tu rangi inayohitajika iko kwenye fremu ya nyuma au la na kwa kutumia moduli za OpenCV nitaficha mkoa huo na
Muziki wa rangi ya rangi ya rangi: Hatua 7 (na Picha)
Muziki wa rangi ya rangi. Chanzo cha msukumo wa kifaa changu ni 'Chromola', chombo ambacho Preston S. Millar aliunda kutoa mwangaza wa rangi kwa Alexander Scriabin's 'Prometeus: Shairi la Moto', symphony iliyoonyeshwa kwenye ukumbi wa Carnegie kwenye Machi 21, 1915.
Rangi ya rangi ya rangi ya MaKey MaKey: Hatua 4
Rangi za rangi za MaKey MaKey: Eureka! Kiwanda kilishikilia Maagizo yetu ya Jumanne ya Kuunda Usiku na MaKey MaKey na baadhi ya vijana wetu wapenzi, Edgar Allan Ohms, timu ya KWANZA ya Mashindano ya Roboti (FRC) iliyo kwenye Maktaba ya Tawi la Land O'Lakes huko Pasco, FL. Ohms
Jinsi ya Kupaka Rangi Kutumia Brashi ya Rangi ya Kawaida na Maji Kuteka kwenye Ubao au Simu ya Mkononi: Hatua 4
Jinsi ya Kupaka Rangi Kutumia Brashi ya Rangi ya Kawaida na Maji Kuteka kwenye Ubao au Simu ya Mkononi: Uchoraji na brashi ni wa kufurahisha. Inaleta maendeleo mengine mengi kwa watoto