Imágenes y matrices NumPy
Las matrices NumPy encuentran un amplio uso en el almacenamiento y manipulación de datos de imágenes. Ma, ¿qué son verdaderamente los datos de imagen?
Las imágenes están formadas por píxeles que se almacenan en forma de matriz. Cada píxel tiene un valor que varía entre 0 e 255: 0 indica un píxel negro y 255 indica un píxel blanco. Una imagen en color consta de tres matrices 2-D, una para cada uno de los canales de color: rosso, verde e blu, colocadas una detrás de la otra formando así una matriz 3-D. Cada valor de la matriz constituye un valor de píxel. Quindi, el tamaño de la matriz depende de la cantidad de píxeles a lo largo de cada dimensione"Dimensione" È un termine che viene utilizzato in varie discipline, come la fisica, Matematica e filosofia. Si riferisce alla misura in cui un oggetto o un fenomeno può essere analizzato o descritto. In fisica, ad esempio, Si parla di dimensioni spaziali e temporali, mentre in matematica può riferirsi al numero di coordinate necessarie per rappresentare uno spazio. Comprenderlo è fondamentale per lo studio e....
Eche un vistazo a la próxima imagen:
Python puede leer la imagen como una matriz usando el scipy.misc.imread () método en la biblioteca SciPy. Y cuando lo generamos, es simplemente una matriz 3-D que contiene los valores de píxeles:
import numpy as np import matplotlib.pyplot as plt from scipy import misc # read image im = misc.imread('./original.jpg') # image im
Vettore([[[115, 106, 67], [113, 104, 65], [112, 103, 64], ..., [160, 138, 37], [160, 138, 37], [160, 138, 37]], [[117, 108, 69], [115, 106, 67], [114, 105, 66], ..., [157, 135, 36], [157, 135, 34], [158, 136, 37]], [[120, 110, 74], [118, 108, 72], [117, 107, 71], ...,
Podemos chequear la forma y el tipo de esta matriz NumPy:
Stampa(im.shape)
Stampa(genere(genere))
(561, 997, 3)
numpy.ndarray
Ora, dado que una imagen es solo una matriz, podemos manipularla fácilmente usando una función de matriz que hemos visto en el post. Che cosa, podríamos voltear la imagen horizontalmente usando el np.flip () metodo:
# flip plt.imshow(np.flip(im, asse=1))
O puede normalizar o cambiar el rango de valores de los píxeles. Qualche volta, esto es útil para cálculos más rápidos.
im/255
Vettore([[[0.45098039, 0.41568627, 0.2627451 ], [0.44313725, 0.40784314, 0.25490196], [0.43921569, 0.40392157, 0.25098039], ..., [0.62745098, 0.54117647, 0.14509804], [0.62745098, 0.54117647, 0.14509804], [0.62745098, 0.54117647, 0.14509804]], [[0.45882353, 0.42352941, 0.27058824], [0.45098039, 0.41568627, 0.2627451 ], [0.44705882, 0.41176471, 0.25882353], ..., [0.61568627, 0.52941176, 0.14117647], [0.61568627, 0.52941176, 0.13333333], [0.61960784, 0.53333333, 0.14509804]], [[0.47058824, 0.43137255, 0.29019608], [0.4627451 , 0.42352941, 0.28235294], [0.45882353, 0.41960784, 0.27843137], ..., [0.6 , 0.52156863, 0.14117647], [0.6 , 0.52156863, 0.13333333], [0.6 , 0.52156863, 0.14117647]], ...,
¡Recuerde que esto es utilizar el mismo concepto de ufuncs y transmisión que vimos en el post!
Hay muchas más cosas que podría hacer para manipular sus imágenes que serían útiles cuando clasifique imágenes usando redes neuronales. Si está interesado en construir su propio clasificador de imágenes, ¡puede dirigirse aquí para obtener un tutorial increíble sobre el tema!
Note finali
Articoli correlati:
- SQL per la scienza dei dati | Guida per principianti a SQL per la scienza dei dati
- Statistiche per la scienza dei dati | Una guida per principianti alle statistiche per la scienza dei dati
- Tirocinio in Data Science | Guida per principianti per ottenere uno stage di data science
- Tutorial sulle espressioni regolari di Python | Tutorial su Python Regex