- Ce sunt imaginile?
- Modul în care computerul stochează imaginile
- De ce este dificil pentru o mașină să identifice imaginile
- Aplicarea și utilizările OpenCV
- Instalarea OpenCV cu Python și Anaconda
- Deschiderea și salvarea imaginilor în OpenCV
- Imaginea de scalare gri în OpenCV
- Spații de culoare
- Explorarea componentelor individuale ale imaginii RGB
- Conversia imaginii în componentă RGB individuală
- Reprezentarea histogramei a imaginii
- Desenarea de imagini și forme folosind OpenCV
Arta este un mod de a vedea, iar ei spun că a vedea este a crede, dar opusul este adevărat, a crede este a vedea și este foarte greu să ne imaginăm că trăim în această lume fără darul viziunii - ochii noștri, cât de minunat este să fii un copil când ochii noștri se deschid, vedem lumea și am început să recunoaștem și să vedem lumea din jurul nostru, dar pe măsură ce timpul trece, aceeași experiență minunată devine una mondenă. Dar pe măsură ce progresăm cu tehnologia, suntem la un pas în care mașinile sunt capabile să o vadă și să o înțeleagă. În prezent, nu pare să fie o sci-fi dacă deblocați telefonul cu fața, dar povestea dezvoltării viziunii automate datează de mai bine de 20 de ani.
Pasul formal inițial în acest domeniu a fost reluat în 1999 într-o inițiativă Intel, când toate cercetările care au avut loc au fost colaborate în cadrul OPEN CV (Open Source computer vision), scris inițial în C ++, cu prima sa versiune majoră 1.0 în 2006 a doua în 2009, al treilea în 2015 și al patrulea chiar acum în 2018. Acum OpenCV are interfețe C ++, Python și Java și acceptă Windows, Linux, Mac OS, iOS și Android. Deci, poate fi instalat cu ușurință în Raspberry Pi cu mediul Python și Linux. Și Raspberry Pi cu OpenCV și cameră atașată poate fi folosit pentru a crea multe aplicații de procesare a imaginilor în timp real, cum ar fi detectarea feței, blocarea feței, urmărirea obiectelor, detectarea plăcuței de înmatriculare a mașinii, sistemul de securitate la domiciliu etc.
Înainte de a începe să învățați procesarea imaginilor folosind openCV, este important să știți ce sunt imaginile și cum percep oamenii și mașinile aceste imagini.
Ce sunt imaginile?
Imaginile sunt o reprezentare bidimensională a spectrului luminii vizibile. Și spectrul luminii vizibile este doar o parte a spectrului electromagnetic care se află între spectrul infraroșu și ultraviolet.
Cum se formează imaginile: - când o lumină reflectă un obiect pe un film, un senzor sau pe retină.
Acesta este modul în care funcționează ochii noștri, folosind o barieră pentru a bloca punctul cel mai de lumini care părăsesc o mică deschidere prin care lumina poate trece este numit ca deschidere, și formează o imagine mult concentrat și este un model de lucru pentru o camera de pini gaura, dar există o problemă într-o cameră cu orificiu pin, aceeași cantitate de lumină va intra în diafragmă, care nu ar putea fi potrivită pentru filmul sau imaginea formată, de asemenea, nu putem obține o imagine focalizată, astfel încât să focalizăm imaginea trebuie să mut filmul înainte și înapoi, dar acest lucru este problematic în multe situații.
Sau putem rezolva această problemă folosind lentile, ne permite să controlăm dimensiunea diafragmei, iar în fotografie este cunoscută sub numele de Stop, în general, valoarea mai mică a opririi este mai bună în fotografie.
Mărimea diafragmei ne permite, de asemenea, să intrăm într-o adâncime de câmp frumoasă numită Bokeh în fotografie, ne permite să avem un fundal neclar în timp ce ne concentrăm pe imagine.
Modul în care computerul stochează imaginile
Este posibil să fi auzit de diferite formate de imagine, cum ar fi.png,.jpgG și etc. afişa. Însă la bază utilizează o platformă comună pentru stocarea imaginilor și același lucru este valabil și pentru openCV.
OpenCV folosește în mod implicit spațiu de culoare RGB (roșu, verde și albastru) pentru imaginile sale, unde fiecare coordonată a pixelilor (x, y) conține 3 valori pentru intensități în formă de 8 biți, adică (0-255, 2 8).
Amestecarea intensităților diferite ale fiecărei culori ne oferă spectrul complet, de aceea în pictură sau artă aceste trei culori sunt considerate culori primare și toate celelalte ca secundare, deoarece majoritatea culorilor secundare pot fi formate din culori primare. Ca și pentru galben, avem următoarele valori: Roșu - 255; Verde - 255; Albastru - 0.
Acum imaginile sunt stocate în tablouri multi-dimensionale. În programare, matricea este o serie de colecții de obiecte. Și aici ne ocupăm de trei tipuri de matrici 1D, 2D și 3D unde „D” înseamnă dimensional.
Imaginile colorate sunt stocate în tablouri tridimensionale, unde a treia dimensiune reprezintă culorile RGB (pe care le vom vedea mai târziu) și împreună formează intensități diferite de pixeli pentru o imagine, în timp ce imaginile alb-negru sunt stocate în tablouri bidimensionale și, de asemenea, există două tipuri de imagini alb-negru, în tonuri de gri și imagini binare.
Imaginile în tonuri de gri sunt formate din nuanțele de gri ale unui tablou bidimensional, în timp ce imaginile binare sunt de pixeli, fie negru, fie alb.
De ce este dificil pentru o mașină să identifice imaginile
Viziunea computerizată este o sarcină dificilă în sine, vă puteți imagina cât de greu este să oferiți unei mașini un sentiment de vedere, recunoaștere și identificare. Următorii factori sunt cei care îngreunează viziunea computerizată.
- Limitările senzorului și obiectivului camerei
- Vedeți variațiile punctelor
- Schimbarea iluminatului
- Scalare
- Ocluzii
- Variații de clasă de obiecte
- Imagini ambigue / Iluzii optice
Aplicarea și utilizările OpenCV
În ciuda dificultății, Computer Vision are multe povești de succes
- Navigare robotică - Mașini care conduc singuri
- Detectarea și recunoașterea feței
- Motor de căutare Căutare de imagini
- Citirea plăcuței de înmatriculare
- Scris de mana recunoscut
- Snapchat și filtre de față
- Recunoașterea obiectelor
- Urmărirea mingii și jucătorilor în sport
- Si multe altele!
Instalarea OpenCV cu Python și Anaconda
OpenCV este scris în C ++, dar este foarte greu să-l implementăm cu C ++ și, prin urmare, alegem să-l implementăm cu un limbaj de nivel înalt ca python și, de asemenea, există beneficii suplimentare ale implementării OpenCV cu python, deoarece Python este unul dintre cele mai ușoare limbaje pentru începători, de asemenea. Este extrem de puternic pentru aplicațiile de știință a datelor și de învățare automată și, de asemenea, stochează imagini în matrice numpy, ceea ce ne permite să facem operații foarte puternice destul de ușor.
Programarea de bază este utilă cu expunerea la matematică la nivel de liceu, o cameră web, Python 2.7 sau 3.6 (este preferat pachetul Anaconda).
Pasul 1. Descărcați și instalați pachetul Anaconda Python
Accesați: https://www.anaconda.com/download și alegeți în funcție de vremea mașinii dvs. Windows, Linux sau Mac și puteți alege versiunea Python 2.7 sau Python 3.7 fie pentru sistemele pe 64 de biți, fie pentru sistemele pe 32 de biți, dar acum o zi majoritatea sistemului are 64 de biți.
Distribuirea anaconda a python vine împreună cu studio Spyder, notebook-uri jupyter și prompt anaconda, ceea ce face Python foarte prietenos de utilizat. Vom folosi spyder studio pentru a face exemplele.
Alegerea între python 2.7 sau 3.7 este complet neutră, dar cu toate acestea, pentru exemple, vom folosi python 3.7, deoarece este viitorul python și va prelua python 2.7 din 2020, de asemenea, majoritatea bibliotecilor sunt dezvoltate în păstrarea Python 3.7 aspectul viitor al pitonului în minte. De asemenea, oferă rezultatele așteptate pentru operații matematice de bază, cum ar fi (2/5 = 2.5), în timp ce python 2.7 l-ar evalua la 2. De asemenea, printul este tratat ca o funcție în python 3.7 (print („salut”)), așa că le oferă programatorilor mâini.
Pasul 2. Crearea unei platforme virtuale cu OpenCV
Vom instala OpenCV prin crearea unei platforme virtuale pentru spyder folosind promptul Anaconda și fișierul YML încărcat aici.
Cu fișierele YML vom instala toate pachetele și bibliotecile care ar fi necesare, dar, dacă doriți să instalați pachete suplimentare, puteți instala cu ușurință prin promptul anaconda, executând comanda acelui pachet.
Accesați pictograma de căutare Windows și găsiți terminalul de solicitare anaconda, îl puteți găsi în folderul anaconda pe care tocmai l-ați instalat.
Apoi, trebuie să găsiți fișierul YML descărcat și de aici aveți două opțiuni fie să schimbați directorul terminalului în locația în care este descărcat fișierul YML, fie să copiați fișierul YML în directorul în care anaconda este instalat în majoritatea cazurile ar fi în interiorul unității C: \, după ce copiați fișierul YML în locația specificată RUNAȚI următoarea comandă pe prompt
conda env create –f virtual_platform_windows.yml
Deoarece sistemul meu rulează pe Windows, fișierul YML și comanda corespund ferestrelor, totuși puteți modifica în funcție de sistemul dvs. înlocuind Windows cu Linux sau Mac, respectiv.
Notă: - Dacă extragerea pachetului dă eroare, instalați mai întâi pytorch și numpy și apoi executați comanda de mai sus.
Acum găsiți navigatorul anaconda și va apărea un meniu derulant „Aplicații pe ___” și de acolo selectați mediul virtual și apoi de acolo trebuie să lansați Spyder studio.
Și atât, ești gata să începi!
Deschiderea și salvarea imaginilor în OpenCV
Aici explicăm câteva comenzi și terminologie de bază pentru a utiliza Python în OpenCV. Vom afla despre trei funcții de bază în OpenCV imread, imshow și imwrite.
#comentariile din python sunt date de # simbol
Importați opencv în python prin comandă
import cv2
Încărcați o imagine folosind „imread” specificând calea către imagine
image = cv2.imread ('input.jpg')
Acum, acea imagine este încărcată și stocată în python ca o variabilă pe care am denumit-o ca imagine
Acum, pentru a afișa variabila noastră de imagine, folosim „imshow”, iar primul parametru pentru funcția imshow este titlul afișat în fereastra de imagine și trebuie introdus în ('') pentru a reprezenta numele ca un șir.
cv2.imshow („salut lume”, imagine)
waitkey ne permite să introducem informații atunci când fereastra de imagine este deschisă, lăsând-o goală, așteaptă să fie apăsată orice tastă înainte de a continua, prin plasarea numerelor (cu excepția 0), putem specifica o întârziere pentru cât timp păstrați fereastra deschisă (timp în milisecunde aici).
cv2.waitKey ()
„destroyAllWindows” închide toate ferestrele deschise, dacă nu plasați acest lucru, programul dvs. va fi blocat.
cv2.destroyAllWindows ()
, pentru aceasta vom folosi numpy, numpy este o bibliotecă pentru programarea python pentru adăugarea de suport matricilor și matricilor mari multidimensionale.
import cv2 #importing numpy import numpy as np image = cv2.imread ('input.jpg') cv2.imshow ('hello_world', image) # funcția Shape este foarte utilă atunci când privim dimensiunile unui tablou, este returnează un tuplu care oferă o dimensiune a unei imagini tipărite (image.shape) cv2.waitKey () cv2.destroyAllWindows ()
ieșire consolă - (183, 275, 3), Cele două dimensiuni ale imaginii sunt 183 pixeli înălțime și 275 pixeli lățime și 3 înseamnă că există alte trei componente (R, G, B) care realizează această imagine (arată că imaginile colorate sunt stocate în tablouri tridimensionale).
print ('Înălțimea imaginii:', (image.shape, 'pixeli')) print ('Lățimea imaginii:', (image.shape, 'pixeli'))
ieșire consolă - Înălțimea imaginii: (183, „pixeli”)
Lățimea imaginii: (275, „pixeli”)
Salvarea imaginii editate în OpenCV
Folosim „imwrite” pentru a specifica numele fișierului și imaginea de salvat.
cv2.imwrite ('output.jpg', imagine) cv2.imwrite ('output.png', imagine)
Primul argument este numele fișierului pe care dorim să îl salvăm, {pentru a citi sau pentru a salva fișierul pe care îl folosim ('') pentru a-l indica ca șir} și al doilea argument este numele fișierului.
OpenCV vă permite să salvați imaginea în diferite formate.
Imaginea de scalare gri în OpenCV
Scalarea gri este procesul prin care o imagine este convertită dintr-o culoare întreagă în nuanțe de gri (alb-negru)
În opencv, multe funcții redau în imagini imagini înainte de procesare. Acest lucru se face deoarece simplifică imaginea, acționând aproape ca o reducere a zgomotului și creșterea timpului de procesare, deoarece există mai puține informații în imagine (deoarece imaginile în tonuri de gri sunt stocate în tablouri bidimensionale).
import cv2 # încărcați imaginea de intrare image = cv2.imread ('input.jpg') cv2.imshow ('original', imagine) cv2.waitKey () #utilizăm cvtcolor, pentru a converti în scară de gri imaginea gri = cv2.cvt, cv2.COLOR_BGR2GRAY) cv2.imshow ('scară de gri', imagine_gris) cv2.waitKey () cv2.destroyALLWindows ()
O modalitate mai simplă de a converti imaginea în tonuri de gri este doar să adăugați argumentul 0 în funcția de citire deoparte la numele imaginii
import cv2 grey_image = cv2.imread ('input.jpg', 0) cv2.imshow ('tonuri de gri', grey_image) cv2.waitKey () cv2.destroyAllWindows ()
import cv2 import numpy as np image = cv2.imread ('input.jpg') print (image.shape) cv2.imshow ('original', image) cv2.waitKey () gray_image = cv2.cvtColor (imagine, cv2.COLOR_BGR2GRAY) cv2.imshow („scala de gri”, imagine_griz) print (imagine_griz.shape) cv2.waitKey () cv2.destroyALLWindows ()
Ieșire consolă: - (183, 275, 3) - pentru imagine colorată
(183, 275) - pentru imagine în tonuri de gri
Prin urmare, arată clar că imaginile colorate sunt reprezentate prin tablouri tridimensionale, în timp ce imaginile la scară de gri prin tablouri bidimensionale.
Spații de culoare
Spațiile de culoare sunt modul în care sunt stocate imaginile. RGB, HSV, CMYK sunt diferitele spații de culoare, acestea sunt doar modalități simple de a reprezenta culoarea.
RGB - roșu, verde și albastru.
HSV - Nuanță, saturație și valoare.
Și CMYK este utilizat în mod obișnuit în imprimantele cu jet de cerneală.
Spațiu de culoare RGB sau BGR
Spațiul de culoare implicit al OpenCV este RGB. RGB este un model de culoare aditiv care generează culori prin combinarea culorilor albastre, verzi și roșii de diferite intensități / luminozitate. În OpenCV folosim adâncimi de culoare pe 8 biți.
- Roșu (0-255)
- Albastru (0-255)
- Verde (0-255)
Totuși, OpenCV stochează de fapt culoarea în format BGR.
Fapte amuzante: - Utilizăm ordinea BGR în computere datorită modului în care sunt stocate în memorie numere întregi de 32 de biți nesemnate, care totuși ajunge să fie stocate ca RGB. Numărul întreg care reprezintă o culoare, de exemplu: - 0X00BBGGRR va fi stocat ca 0XRRGGBB.
Spațiu color HSVHSV (Hue, Saturation & value / Brightness) este un spațiu de culoare care încearcă să reprezinte culorile pe care oamenii le percep. Stochează informații despre culoare într-o reprezentare cilindrică a punctelor de culoare RGB.
Nuanță - valoare culoare (0-179)
Saturație - Vibranță de culoare (0-255)
Valoare - Luminozitate sau intensitate (0-255)
Formatul spațiului de culoare HSV este util în segmentarea culorilor. În RGB, filtrarea anumitor culori nu este ușoară, cu toate acestea HSV face mult mai ușor setarea intervalelor de culori pentru a filtra anumite culori așa cum le percepem.
Hue reprezintă culoarea în HSV, valoarea nuanței variază între 0 - 180 și nu 360, deci nu completează cercul complet și este mapată diferit față de standard.
Filtre pentru gama de culori
- Roșu - (165-15)
- Verde - (45-75)
- Albastru - (90-120)
După cum știm, imaginile stocate în spațiul de culoare RGB (roșu, verde și albastru) și astfel OpenCV ne arată același lucru, dar primul lucru de reținut despre formatul RGB al opencv este că este de fapt BGR și îl putem cunoaște uitându-ne la forma imaginii.
import cv2 import numpy as np image = cv2.imread ('input.jpg') # B, G, R valoare pentru primul 0,0 pixel B, G, R = imagine print (B, G, R) print (imagine.shape) #acum dacă aplicăm acest lucru pe imagine în tonuri de gri gray_img = cv2.cvtColor (imagine, cv2.COLOR_BGR2GRAY) print (gray_img.shape) #gray_image valoare pixel pentru 10,50 pixeli print (gray_img)
Ieșire consolă: imprimare (B, G, R) - 6 11 10
print (image.shape) - (183, 275, 3)
print (gray_img.shape) - (183, 275)
print (gri_img) - 69
Acum există doar două dimensiuni într-o imagine la scară de gri, deoarece ne amintim că imaginea color este stocată în trei dimensiuni, a treia dimensiune fiind (R, G, B), în timp ce la scară de gri sunt prezente doar două dimensiuni, deoarece (R, G, B) este absent și pentru o anumită poziție a pixelilor obținem o singură valoare, în timp ce în imaginea colorată avem trei valori.
Un alt spațiu de culoare util este HSV
import cv2 image = cv2.imread ('input.jpg') hsv_image = cv2.cvtColor (image, cv2.COLOR_BGR2HSV) cv2.imshow ('HSV image', hsv_image) cv2.imshow ('Hue channel', hsv_image) cv2. imshow („canal de saturație”, hsv_image) cv2.imshow („canal valoare”, hsv_image) cv2.waitKey () cv2.destroyAllWindows ()
După rularea codului, puteți vedea cele patru imagini, dintre care trei sunt ale canalelor individuale și una este o imagine HSV combinată.
Imaginea canalului Hue este destul de întunecată, deoarece valoarea sa variază doar de la 0 la 180.
De asemenea, rețineți că funcția imshow încearcă să vă arate imaginea RGB sau BGR, dar conversia HSV se suprapune.
De asemenea, canalul valoric va fi similar cu scala de gri a imaginii datorită luminozității sale.
Explorarea componentelor individuale ale imaginii RGB
import cv2 image = cv2.imread ('input.jpg') # opencv's split function divide the imageinti each color index B, G, R = cv2.split (image) cv2.imshow ("Red", R) cv2.imshow („Verde”, G) cv2.imshow („Albastru”, B) #facerea imaginii originale prin fuzionarea componentelor individuale ale culorii îmbinate = cv2.merge () cv2.imshow („fuzionată”, combinată) #amplificarea culorii albastre îmbinate = cv2.merge () cv2.imshow ("fuzionat cu albastru amplifică", fuzionat) #reprezentând forma componentelor individuale de culoare. # ieșirea va avea doar două dimensiuni, care ar fi înălțime și lățime, întrucât al treilea element al componentei RGB este tipărit reprezentat individual (tip B.) tipărit (R.formă) tipărire (formă G.) cv2.waitKey (0) cv2.destroyAllWindows ()
Ieșire consolă: # dimensiuni ale imaginii din funcția de formă
(183, 275)
(183, 275)
(183, 275)
Conversia imaginii în componentă RGB individuală
În codul de mai jos am creat o matrice de zerouri cu dimensiunile imaginii HxW, zero returnează o matrice umplută cu zerouri dar cu aceleași dimensiuni.
Funcția de formă este foarte utilă atunci când ne uităm la dimensiunea unei imagini și aici am făcut felierea acelei funcții de formă. Deci forma ar apuca totul până la punctele desemnate, adică până la al doilea punct desemnat, care ar fi înălțimea și lățimea imaginii, deoarece a treia reprezintă componenta RGB a imaginii și nu avem nevoie de ea aici.
import cv2 import numpy as np image = cv2.imread ('input.jpg') B, G, R = cv2.split (image) zeros = np.zeros (image.shape, dtype = "uint8") cv2.imshow („RED”, cv2.merge ()) cv2.imshow („Verde”, cv2.merge ()) cv2.imshow („Albastru”, cv2.merge ()) cv2.waitKey (0) cv2.destroyAllWindows ()
Reprezentarea histogramei a imaginii
Reprezentarea histogramă a imaginii este metoda de vizualizare a componentelor imaginilor.
Următorul cod vă permite să analizați imaginea prin histograma de culoare a componentelor sale combinate și individuale de culoare.
import cv2 import numpy as np #we need to import matplotlib to create histogram complots import matplotlib.pyplot as plt image = cv2.imread ('input.jpg') histogram = cv2.calcHist (,, None,,) #we plot a histograma, ravel () ne planează matricea de imagini plt.hist (image.ravel (), 256,) plt.show () #viewing canale de culoare separate color = ('b', 'g', 'r') # știm separați culoarea și trasați fiecare în histogramă pentru i, col în enumerate (color): histogram2 = cv2.calcHist (,, None,,) plt.plot (histogram2, color = col) plt.xlim () plt.show ()
Să înțelegem funcția calcHist cu fiecare dintre parametrii săi individuali
cv2.calcHist (imagini, canale, mască, histsize , intervale)
Imagini: este imaginea sursă de tip uint 8 sau float 32. Ar trebui să fie dată între paranteze drepte, adică „”, care indică și matricea sa de al doilea nivel, deoarece o imagine pentru opencv este o formă de matrice.
Canale: este dat și între paranteze drepte. Este indicele canalului pentru care calculăm histograma, de exemplu, dacă intrarea este imagine în tonuri de gri, valoarea acesteia este, pentru imaginile color pe care le puteți trece, sau pentru a calcula histograma canalului albastru, verde și respectiv roșu.
Mască: imagine de mască. pentru a găsi histograma imaginii complete, este dată ca „none”. dar dacă doriți să găsiți histograma unei anumite regiuni a imaginii, trebuie să creați o imagine de mască pentru aceasta și să o dați ca mască.
Histsize: Aceasta reprezintă numărul nostru BIN. Trebuie să fie dat între paranteze pătrate pentru scara completă pe care o trecem.
Gama: aceasta este gama noastră, în mod normal
Desenarea de imagini și forme folosind OpenCV
Mai jos sunt câteva exemple pentru desenarea liniilor, dreptunghiului, poligonului, cercului etc. în OpenCV.
import cv2 import numpy ca np # crearea unei imagini pătrate negre = np.zeros ((512.512,3), np.uint8) # putem crea și acest lucru în alb și negru, totuși nu ar exista modificări image_bw = np.zeros ((512.512), np.uint8) cv2.imshow ("dreptunghi negru (culoare)", imagine) cv2.imshow ("dreptunghi negru (B&W)", image_bw)
Linia
#creați o linie peste pătrat negru # cv2.line (imagine, coordonate inițiale, coordonate finale, culoare, grosime) #desenarea unei linii diagonale de grosime 5 pixeli image = np.zeros ((512.512,3), np.uint8) cv2.line (imagine, (0,0), (511.511), (255.127,0), 5) cv2.imshow ("linie albastră", imagine)
Dreptunghi
#creați un dreptunghi peste un pătrat negru # cv2.rectangle (imagine, coordonate de pornire, coordonate de sfârșit, culoare, grosime) #desenarea unui dreptunghi cu grosime de 5 pixeli image = np.zeros ((512,512,3), np.uint8) cv2.rectangle (imagine, (30,50), (100,150), (255,127,0), 5) cv2.imshow („dreptunghi”, imagine)
Cerc#crearea unui cerc peste un pătrat negru # cv2.circle (imagine, centru, rază, culoare, umplere) image = np.zeros ((512.512,3), np.uint8) cv2.circle (imagine, (100.100), (50), (255,127,0), - 1) cv2.imshow („cerc”, imagine)
Poligon#creating un poligon imagine = np.zeros ((512,512,3), np.uint8) #lets definesc patru puncte de pts = np.array (,,,], np.int32) #lets remodeleze acum punctele noastre în forma cerută de polylines pts = pts.reshape ((- 1,1,2)) cv2.polylines (imagine,, True, (0,255,255), 3) cv2.imshow ("poligon", imagine)
Text#putting text folosind OpenCV # cv2.putText (imagine, 'text de afișare', bootom stânga punct de pornire, font, dimensiunea fontului, culoare, grosime) image = np.zeros ((512,512,3), np.uint8) CV2. putText (imagine, „hello world”, (75.290), cv2.FONT_HERSHEY_COMPLEX, 2, (100.170,0), 3) cv2.imshow („hello world”, imagine) cv2.waitKey (0) cv2.destroyAllWindows ()
Computer Vision și OpenCV sunt subiecte foarte vaste de acoperit, dar acest ghid ar fi un bun punct de plecare pentru a învăța OpenCV și procesarea imaginilor.