En las imágenes, algunas técnicas utilizadas con frecuencia para la extracción de características son binarizar y difuminar
Binarizing: convierte la matriz de imágenes en 1s y 0s. Esto se realiza al convertir la imagen en una imagen 2D. Incluso la escala de grises también se puede utilizar. Te da una matriz numérica de la imagen. La escala de grises ocupa mucho menos espacio cuando se almacena en el disco.
Así es como lo haces en Python:
from PIL import Image
%matplotlib inline
#Import an image
image = Image.open("xyz.jpg")
image
Imagen de ejemplo:
Ahora, conviértalo a escala de grises:
im = image.convert('L')
im
te devolveré esta imagen:
Y la matriz se puede ver ejecutando esto:
array(im)
La matriz se vería así:
array([[213, 213, 213, ..., 176, 176, 176],
[213, 213, 213, ..., 176, 176, 176],
[213, 213, 213, ..., 175, 175, 175],
...,
[173, 173, 173, ..., 204, 204, 204],
[173, 173, 173, ..., 205, 205, 204],
[173, 173, 173, ..., 205, 205, 205]], dtype=uint8)
Ahora, use un diagrama de histograma y / o un diagrama de contorno para ver las características de la imagen:
from pylab import *
# create a new figure
figure()
gray()
# show contours with origin upper left corner
contour(im, origin='image')
axis('equal')
axis('off')
figure()
hist(im_array.flatten(), 128)
show()
Esto te devolvería una trama, que se parece a esto:
Desenfoque: el algoritmo de desenfoque toma el promedio ponderado de los píxeles vecinos para incorporar el color del entorno en cada píxel. Mejora mejor los contornos y ayuda a comprender mejor las características y su importancia.
Y así es como lo haces en Python:
from PIL import *
figure()
p = image.convert("L").filter(ImageFilter.GaussianBlur(radius = 2))
p.show()
Y la imagen borrosa es:
Por lo tanto, estas son algunas formas en que puede hacer ingeniería de características. Y para los métodos avanzados, debe comprender los conceptos básicos de la visión por computadora y las redes neuronales, y también los diferentes tipos de filtros y su importancia y las matemáticas detrás de ellos.