OpenCV apprentissage 2 - Opérations de tableau numpy

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)
    
    

 

Je suppose que tu aimes

Origine www.cnblogs.com/yzh1008/p/12520556.html
conseillé
Classement