Píxeles en openCV python

Píxeles

Un píxel es la unidad más pequeña de una imagen digital. En la siguiente imagen se muestra una porción ampliada, cada cuadro respresenta un píxel y tiene un color específico.

Píxeles en una imagen

Acceder al valor específico de un píxel BGR openCV python

Como se menciona en el post crear una imagen BGR, una computadora ve una imagen digital como un arreglo de números. La siguiente imagen representa 9 píxeles de alto (fila) y 9 píxeles de ancho (columnas), y cada uno de estos espacios contiene 3 valores entre 0 y 255:

  • B Blue, G Green, R Red.
Representación de 9×9 píxeles

El siguiente código permite hallar los valores BGR que representan el color de la esquina superior izquierda [0,0] y de la esquina inferior derecha [8,8].

Nota: Anteriormente se dijo que la imagen es de 9×9 píxeles, pero la posición inicial de un arreglo en python es 0 y se considera hasta la posición [8,8], en este ejemplo la posición [9,9] no existe.

#Importar librería cv2
import cv2

#Leer imagen
img = cv2.imread('pixeles.jpg')

#Conocer el valor del pixel (0 ,0) y (8,8)
print("Color posición 0,0: " + str(img[0,0]) )
print("Color posición 8,8: " + str(img[8,8]) )

#Mostrar imagen
cv2.imshow('imagen',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

El resultado será el siguiente

Color posición 0,0: [  8  80 164]
Color posición 8,8: [ 47 196 253]
Descarga estos archivos en GitHub

Acceder al valor de todos los píxeles en una imagen BGR openCV python

La siguiente imagen es una representación de como se ubican los 3 valores B G R en una imagen.

Representación de 9×9 píxeles

Considerando que se representa 81 píxeles, a continuación se obtiene los valore BGRde cada uno, con un bucle for para leer las filas y las columnas.

#Importar librería cv2
import cv2

#Leer imagen
img = cv2.imread('pixeles1.jpg')

#Analiza 81 pixeles
for fila in range (9):
    for columna in range (9):
        print("Color", "fila:", + fila, "columna", + columna, "=", str(img[fila,columna]))

Color fila: 0 columna 0 = [  8  80 164]
Color fila: 0 columna 1 = [ 12  85 171]
Color fila: 0 columna 2 = [ 12  89 176]
Color fila: 0 columna 3 = [ 14  96 185]
Color fila: 0 columna 4 = [ 15 103 193]
Color fila: 0 columna 5 = [ 16 109 200]
Color fila: 0 columna 6 = [ 14 113 205]
Color fila: 0 columna 7 = [ 12 115 208]
Color fila: 0 columna 8 = [ 12 116 209]
Color fila: 1 columna 0 = [  8  80 164]
Color fila: 1 columna 1 = [  5  81 164]
Desplegar el resultado completo

Color fila: 1 columna 2 = [  6  86 171]
Color fila: 1 columna 3 = [  8  93 179]
Color fila: 1 columna 4 = [  8  98 186]
Color fila: 1 columna 5 = [  7 104 192]
Color fila: 1 columna 6 = [  6 108 197]
Color fila: 1 columna 7 = [  9 114 205]
Color fila: 1 columna 8 = [ 11 118 209]
Color fila: 2 columna 0 = [  4  78 160]
Color fila: 2 columna 1 = [  0  79 160]
Color fila: 2 columna 2 = [  3  85 167]
Color fila: 2 columna 3 = [  2  93 174]
Color fila: 2 columna 4 = [  0  96 179]
Color fila: 2 columna 5 = [  0  99 185]
Color fila: 2 columna 6 = [  0 105 192]
Color fila: 2 columna 7 = [  7 116 202]
Color fila: 2 columna 8 = [ 13 123 211]
Color fila: 3 columna 0 = [  0  74 151]
Color fila: 3 columna 1 = [  0  80 158]
Color fila: 3 columna 2 = [  2  90 167]
Color fila: 3 columna 3 = [  6  99 178]
Color fila: 3 columna 4 = [  2 103 182]
Color fila: 3 columna 5 = [  0 104 185]
Color fila: 3 columna 6 = [  0 110 192]
Color fila: 3 columna 7 = [  9 123 207]
Color fila: 3 columna 8 = [ 16 134 217]
Color fila: 4 columna 0 = [  0  81 156]
Color fila: 4 columna 1 = [  2  89 163]
Color fila: 4 columna 2 = [  8 102 175]
Color fila: 4 columna 3 = [ 15 114 188]
Color fila: 4 columna 4 = [ 12 119 193]
Color fila: 4 columna 5 = [  9 121 197]
Color fila: 4 columna 6 = [ 10 128 205]
Color fila: 4 columna 7 = [ 18 139 218]
Color fila: 4 columna 8 = [ 26 150 228]
Color fila: 5 columna 0 = [  9  97 167]
Color fila: 5 columna 1 = [ 17 110 179]
Color fila: 5 columna 2 = [ 24 122 192]
Color fila: 5 columna 3 = [ 32 136 207]
Color fila: 5 columna 4 = [ 31 143 213]
Color fila: 5 columna 5 = [ 26 147 217]
Color fila: 5 columna 6 = [ 28 154 225]
Color fila: 5 columna 7 = [ 33 162 235]
Color fila: 5 columna 8 = [ 37 168 241]
Color fila: 6 columna 0 = [ 24 118 184]
Color fila: 6 columna 1 = [ 43 140 206]
Color fila: 6 columna 2 = [ 48 152 217]
Color fila: 6 columna 3 = [ 52 164 230]
Color fila: 6 columna 4 = [ 52 169 236]
Color fila: 6 columna 5 = [ 48 173 241]
Color fila: 6 columna 6 = [ 48 179 246]
Color fila: 6 columna 7 = [ 47 183 249]
Color fila: 6 columna 8 = [ 44 184 250]
Color fila: 7 columna 0 = [ 51 149 213]
Color fila: 7 columna 1 = [ 64 167 230]
Color fila: 7 columna 2 = [ 68 177 239]
Color fila: 7 columna 3 = [ 69 186 247]
Color fila: 7 columna 4 = [ 65 190 251]
Color fila: 7 columna 5 = [ 61 192 255]
Color fila: 7 columna 6 = [ 58 195 255]
Color fila: 7 columna 7 = [ 53 196 255]
Color fila: 7 columna 8 = [ 48 194 254]
Color fila: 8 columna 0 = [ 69 170 232]
Color fila: 8 columna 1 = [ 81 187 248]
Color fila: 8 columna 2 = [ 81 193 253]
Color fila: 8 columna 3 = [ 77 197 255]
Color fila: 8 columna 4 = [ 70 198 255]
Color fila: 8 columna 5 = [ 65 199 255]
Color fila: 8 columna 6 = [ 61 201 255]
Color fila: 8 columna 7 = [ 54 200 255]
Color fila: 8 columna 8 = [ 47 196 253]

1 comentario en “Píxeles en openCV python”

  1. Pingback: Píxeles, matrices e imágenes con python y openCV - Kipuna Ec

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *