opérations de tableau numpy
- package numpy introduit https://numpy.org/
- Traversée de chaque pixel de la matrice
- Modifier la valeur de la matrice de pixels
- données DTYPE \ taille \ la forme \ len
visites Traversal pixels
L'acquisition d'attributs d'image (canaux de largeur et hauteur)
DEF access_pixels (Image): Print (image.Forme) hauteur = image.Forme [0] # la première dimension est la hauteur d'image de l'image [. 1] width = image.Forme # image dans la seconde dimension est la largeur de l'image = canaux de image.Forme [2] # image de la troisième dimension est le nombre de canaux d' image d' impression ( " largeur: hauteur% S,:% S, les canaux:% s " % (largeur, hauteur, canaux))
Prendre une image en parcourant les valeurs de pixel de la durée du traitement et de la mer
Importation CV2 AS CV importation numpy AS NP DEF access_pixels (Image): Print (image.Forme) hauteur = image.Forme [0] # la première dimension est la hauteur d'image de l'image width = image.Forme [1]. # Images la seconde dimension est la largeur de l'image canaux = image.Forme [2] # troisième dimension de l'image est le nombre de canaux d' image d' impression ( " largeur: hauteur% s,:% s, les canaux:% s " % (largeur, hauteur, canaux)) pour la ligne dans la chaîne (hauteur): pour COL dans la chaîne (largeur): pour c danséventail (canaux): pv = image [rangée, col, c] image [rangée, col, c] = 255- pv cv.imshow ( " pixel_demo " , image) src = cv.imread (r ' H: \ codage \ python_opencv_tutorial_codes de la pratique \ krystal.jpg ' ) # rouge bleu vert cv.namedWindow ( " image d'entrée " , cv.WINDOW_AUTOSIZE) cv.imshow ( " image d'entrée " , src) t1 = cv.getTickCount () access_pixels (src) t2 = cv.getTickCount () imprimer ((t2 - t1) / cv.getTickFrequency ()) cv.waitKey (0) cv.destroyAllWindows ()
8s trop lent pour obtenir la sortie
L'utilisation directe de l'API ready-made
DEF inverse (image): DST = cv.bitwise_not (image) # pixels niée cv.imshow ( " inverse Demo " , DST)
Créer des images
DEF create_image (): IMG = np.zeros ([400, 400 ,. 3], DTYPE = np.uint8) # produit noir figure img [:,:, 1] = np.ones ([400, 400]) * 255 # 2 255 est un canal complet en tant que matrice 255 pur, vert pour produire la figure cv.imshow ( « nouvelle nouvelle image » , IMG)
Créez des images en niveaux de gris monocanal
DEF create_image (): IMG = np.ones ([400, 400 ,. 1], DTYPE = np.uint8) # génère une image à canal unique img [:,:, 0] = np.ones ([400, 400]) * 127 # sur la ligne peut être directement écrite # IMG IMG * = 127 cv.imshow ( " nouvelle nouvelle image " , IMG)