Serie de tutoriales de visión artificial M1C1
Módulo 1: Representación y clasificación de imágenes
Capítulo 1 - Introducción a la visión artificial
Con este artículo, estoy comenzando una nueva serie para aquellos que estén interesados en aprender visión artificial.
¿Por qué aprender CV?
Bueno, la visión por computadora es un arte con la ayuda que le estás dando a la computadora para comprender el mundo visual. Hay muchos ejemplos de la vida real de la visión por computadora que usamos en nuestra vida cotidiana. Cuando haces clic en una selfie, ¿por qué hay un pequeño cuadrado en tu cara? Cuando escaneas un documento, obtienes los bordes de los documentos ya detectados, ¿cómo cambian los fondos las serpentinas y cómo creó Tesla los autos sin conductor? Todo fue gracias a los avances en Computer Vision que hizo que todas estas cosas fueran posibles.
Objetivos de aprendizaje:
- ¿Cómo cargar una imagen usando la biblioteca cv2?
- La verdadera naturaleza de una imagen.
- ¿Cómo convertir una imagen de un espacio de color a otro?
- ¿Cómo comparar los canales RGB y BGR?
- ¿Cómo trazar una imagen creando una matriz?
- ¿Cómo comparar diferentes canales de un solo espacio de color?
- Importaciones
#Imports
import matplotlib.pyplot as plt
import numpy as np
import cv2
# load the image
img = cv2.imread('your desired image name')
# Change the image into desired colorspace
grayscale = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
rgb = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
f,(ax1,ax2,ax3) = plt.subplots(1,3,figsize=(30,8))
ax1.set_title('BGR')
ax1.imshow(img)
ax2.set_title('RGB')
ax2.imshow(rgb)
ax3.set_title('GRAY')
ax3.imshow(grayscale,cmap='gray')
Output
Cada imagen que vemos en este mundo no es nada, sino una matriz de números con varios rangos de valores según los espacios de color que estemos usando. Por ejemplo, para el espacio de color RGB, cada valor de cambio tiene un rango de 0 a 255, mientras que el canal de matiz en el canal HSV tiene un rango de 0 a 180.
Para conocer la forma de la imagen, ejecute el siguiente comando:
print(img.shape)
>>(2160, 4096, 3)
print(img[:1,:1])
>>[[[55 24 1]]]
Para conocer el valor de cualquier píxel en una imagen en escala de grises, use
x,y = 1000,1000
at_1000 = grayscale[x,y]
print(at_1000)
>>60
grayscale[1000,1000,]
>>60
Generemos el alfabeto S usando una matriz numpy.
Letter_S = np.array([[255, 0, 0, 0, 255],
[255, 0, 255, 255, 255],
[255, 0, 0, 0, 255],
[255, 255, 255, 0, 255],
[255, 0, 0, 0, 255]])
plt.imshow(Letter_S,cmap='gray')
# Exchange 0's and 255's to see the change
Output
# Store values of each channel in different array
r = rgb[:,:,0]
g = rgb[:,:,1]
b = rgb[:,:,2]
fig, (ax1,ax2,ax3) = plt.subplots(1,3,figsize=(20,10))
ax1.set_title('R Channel')
ax1.imshow(r, cmap='gray')
ax2.set_title('G Channel')
ax2.imshow(g,cmap='gray')
ax3.set_title('B Channel')
ax3.imshow(b,cmap='gray')
Output
Envolver
Con esto, hemos completado nuestros objetivos de aprendizaje para esta lección.
He subido el código aquí para su referencia, y aquí está el cuaderno .
Próximos:
Los streamers en la transmisión en vivo usan una pantalla verde para cambiar su fondo, pero ¿sabes por qué se usa una pantalla verde?
- Obtendrá la respuesta a esta pregunta en el próximo cuaderno, y también cambiaremos el fondo de la imagen.
Hasta entonces, sígueme para obtener más información y no olvides conectarte conmigo en LinkedIn .❤❤❤

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































