Cilvēki var atšķirt aptuveni 10 miljonus krāsu. Lai tos uztvertu, jums ir nepieciešams kaut kas pazīstams kā krāsu palete. Krāsu palete satur rīkus, lai parādītu visu cilvēka acs redzamo krāsu diapazonu. Reālajā pasaulē jūs tos izmantojat, lai izveidotu estētiskus dizainus uz papīra, savukārt digitāli jūs tos izmantojat, lai ekrāna elementiem pievienotu krāsu.
Galu galā jūsu dators, izmantojot noteiktu formātu, kodē visus dažādos ekrānā redzamos toņus. Izmantojot Python, jūs varat izveidot RGB kodētu krāsu paleti tikai dažās koda rindās, pateicoties OpenCV un NumPy modulim.
OpenCV un NumPy modulis
Varat analizēt attēlus un videoklipus, izmantojot OpenCV. Tā ir bezmaksas, atvērtā koda, vienkārši lietojama un aprīkota ar noderīgām bibliotēkām. Tie nodrošina paņēmienus objektu klasificēšanai, atrašanās vietas noteikšanai un izsekošanai gan divās, gan trīs dimensijās. Lai savā vidē instalētu OpenCV, atveriet termināli un palaidiet:
pip instalēt opencv-python
NumPy modulis ir vēl viena populāra bibliotēka, ko izmantosit daudzas Python programmas. NumPy — skaitliskais Python — ir modulis, ko varat izmantot datu analīzei un zinātniskai skaitļošanai. Tas nodrošina n-dimensiju masīva objektus, kā arī matemātiskās operācijas kas palīdz manipulēt ar šiem masīviem.
Lai savā vidē instalētu NumPy, izpildiet:
pip install numpy
Parasti jūs izmantojat OpenCV, lai apstrādātu attēlus, izmantojot tādas metodes kā malu noteikšana. Pēc tam varat izmantot NumPy, lai veiktu apstrādātā attēla datu analīzi. Izmantojot šo kombināciju, jūs varat izveidot un atšifrēt QR kodu, klasificēt attēlus, veikt optisko rakstzīmju atpazīšanu un veidot videonovērošanas sistēmas, kas var noteikt kustību un izsekot personas reāllaikā.
Kā izveidot krāsu paleti, izmantojot Python
Veiciet šīs darbības, lai izveidotu krāsu paleti, izmantojot OpenCV un NumPy moduli programmā Python.
Šajā sadaļā varat atrast krāsu paletes avotu, izmantojot Python GitHub krātuve.
Sāciet ar OpenCV un NumPy moduļu importēšanu. Definējiet funkciju ar nosaukumu tukša funkcija () kas satur apstiprinājuma paziņojumu. Apstiprināšanas paziņojums darbojas kā vietturis kodam, kuru varat rakstīt nākotnē. Tas ir īpaši noderīgi ar tādām funkcijām kā CreateTrackbar, kuras izmantosit vēlāk. Tam nepieciešama derīga atzvanīšanas funkcija, un pagaidām jūs varat nodot emptyFunction kā vietturi.
imports cv2
imports nejutīgs kā np
deftukša funkcija():
caurlaide
Ģenerējiet trīsdimensiju masīvu ar izmēru 512 * 512 * 3 ar datu tipu uint8, izmantojot NumPy's nulle() funkciju. Katrs masīvs sastāvēs no 512 kolonnām un 512 rindām. uint8 apzīmē neparakstītu veselu skaitli, tāpēc programma aizpilda masīvu ar nullēm.
attēls = np.zeros((512, 512, 3), np.uint8)
Iestatiet loga nosaukumu, ko programma parādīs, un nosūtiet to uz namedWindow() funkcija, lai izveidotu logu:
loga nosaukums = "OpenCV krāsu palete"
cv2.namedWindow (windowName)
Pēc tam ģenerējiet trīs sliežu joslas sarkanās, zaļās un zilās krāsas komponentiem. To var izdarīt, izmantojot OpenCV izveidot Trackbar() funkciju. Pirmkārt, nosūtiet etiķeti kā sarkanu, zilu vai zaļu. Otrkārt, jums ir jānodod tā loga nosaukums, kurā vēlaties novietot šīs joslas, piemēram, loga nosaukums.
Trešais parametrs ir sliežu joslas minimālā robeža, šajā gadījumā 0. Ceturtais parametrs norāda maksimālo vērtību, kas ir 255 24 bitu krāsas vērtībai. Piektais un pēdējais parametrs ir atzvanīšanas funkcija, kurai CreateTrackbar ir nepieciešama derīga funkcija. Tāpēc jūs iepriekš izveidojāt tukšu funkciju, lai tā darbotos kā vietturis.
cv2.createTrackbar("Zils", loga nosaukums, 0, 255, tukša funkcija)
cv2.createTrackbar('zaļa', loga nosaukums, 0, 255, tukša funkcija)
cv2.createTrackbar('Sarkans', loga nosaukums, 0, 255, tukša funkcija)
Pasludiniet bezgalīgu while cilpu un nododiet loga nosaukumu kopā ar attēlu, kuru vēlaties parādīt OpenCV imshow () funkciju. Tā kā attēlā ir trīsdimensiju nulles, programma sākotnēji parāda melnu ekrānu.
Pārbaudiet, vai lietotājs ir nospiedis atsoļa taustiņu, pārbaudot vērtību no gaidiet taustiņu () pret 27 (ASCII kods Escape taustiņam). Funkcija gaida taustiņš() parāda logu norādīto milisekunžu skaitu vai līdz brīdim, kad nospiežat taustiņu. Nododot vienu kā ievadi, tas parāda logu uz milisekundi, bet atjaunojas bezgalīgās while cilpas dēļ.
Lai uzzinātu sliežu joslas pašreizējo pozīciju, nosūtiet sliežu joslas nosaukumu kopā ar loga nosaukumu getTrackbarPos(). Atkārtojiet šo darbību trim atsevišķiem krāsu komponentiem — zilai, zaļai un sarkanai. Izmantojiet šķēluma operatoru, lai attēla masīvam piešķirtu trīs vērtības. Tas aizstās iepriekšējo vērtību kopu, sākotnēji visas nulles, ar pašreizējām vērtībām atbilstoši sliežu joslas pozīcijām.
kamēr (Taisnība):
cv2.imshow (loga nosaukums, attēls)ja cv2.waitKey(1) == 27:
pārtraukums
zils = cv2.getTrackbarPos("Zils", loga nosaukums)
zaļš = cv2.getTrackbarPos('zaļa', loga nosaukums)
sarkans = cv2.getTrackbarPos('Sarkans', loga nosaukums)
attēls [:] = [zils, zaļš, sarkans]
druka (zila, zaļa, sarkana)
Kad lietotājs nospiež taustiņu Escape, izmantojiet iznīcināt visus Windows() lai aizvērtu programmas atvērtos logus:
cv2.destroyAllWindows()
Visbeidzot, salieciet to kopā un palaidiet to, lai kontrolētu un skatītu savu krāsu paleti.
Python krāsu paletes programmas izvade
Palaižot iepriekš minēto programmu, parādās logs, kurā ir trīs sliežu joslas zilā, zaļā un sarkanā krāsā. Sliežu joslas pārvietojas no diapazona no 0 līdz 255. Mainot dažādu joslu vērtības, tālāk esošajā sadaļā vajadzētu redzēt dažādus krāsu toņus.
Šajā pirmajā piemērā varat redzēt zilās joslas iestatījumu kā 0, zaļo kā 69 un sarkano kā 255. Iegūtā izvades krāsa ir oranža/sarkana nokrāsa. Turklāt termināļa logā tiek parādītas krāsu vērtības kā 0 69 255.
Līdzīgi, iestatot zilo joslu kā 130, zaļo kā 0 un sarkano kā 75, jūs iegūsit Indigo krāsu.
Dažādas OpenCV lietojumprogrammas
OpenCV piedāvā vērtīgas funkcijas tādiem uzdevumiem kā attēlu apstrāde, objektu atpazīšana, sejas atpazīšana un izsekošana. Izmantojot OpenCV, varat izveidot reāllaika datorredzes lietojumprogrammas, kas būtu noderīgas tādās jomās kā robotika, rūpnieciskā automatizācija, medicīniskā attēlveidošana un novērošanas sistēmas.
Datorredzes nākotne ir daudzsološa. Jūs varēsiet izmantot datoru redzi, lai palīdzētu vājredzīgajiem, panāktu labāku izaugsmi lauksaimniecībā, palielinātu ceļu satiksmes drošību, izmantojot pašpiedziņas automašīnas, un pat pārvietotos uz citām planētām, piemēram, uz Marsa.