Ya no necesitas indagar más por todo internet porque estás al lugar correcto, tenemos la solución que necesitas pero sin problema.
Operaciones de imagen.
los tf.image
El módulo contiene varias funciones para el procesamiento de imágenes y la decodificación-codificación Ops.
Muchas de las funciones de codificación / decodificación también están disponibles en el núcleo tf.io
módulo.
Procesamiento de imágenes
Cambiar el tamaño
Las operaciones de cambio de tamaño aceptan imágenes de entrada como tensores de varios tipos. Siempre generan imágenes redimensionadas como tensores float32.
La función de conveniencia tf.image.resize
admite tensores 4-D y 3-D como entrada y salida. Los tensores 4-D son para lotes de imágenes, los tensores 3-D para imágenes individuales.
Las imágenes redimensionadas se distorsionarán si su relación de aspecto original no coincide con el tamaño. Para evitar distorsiones, consulte tf.image.resize_with_pad.
tf.image.resize
tf.image.resize_with_pad
tf.image.resize_with_crop_or_pad
La clase tf.image.ResizeMethod
proporciona varios métodos de cambio de tamaño como bilinear
, nearest_neighbor
.
Conversión entre espacios de colores
Las operaciones de imágenes funcionan en imágenes individuales o en lotes de imágenes, según la forma de su tensor de entrada.
Si es 3-D, la forma es [height, width, channels]
y el tensor representa una imagen. Si es 4-D, la forma es [batch_size, height, width, channels]
, y el tensor representa batch_size
imágenes.
En la actualidad, channels
útilmente puede ser 1, 2, 3 o 4. Las imágenes de un solo canal son en escala de grises, las imágenes con 3 canales están codificadas como RGB o HSV. Las imágenes con 2 o 4 canales incluyen un canal alfa, que debe eliminarse de la imagen antes de pasar la imagen a la mayoría de las funciones de procesamiento de imágenes (y se puede volver a adjuntar más tarde).
Internamente, las imágenes se almacenan como una float32
por canal por píxel (implícitamente, se supone que los valores se encuentran en [0,1)
) or one uint8
per channel per pixel (values are assumed to lie in [0,255]
).
TensorFlow puede convertir imágenes en RGB o HSV o YIQ.
tf.image.rgb_to_grayscale
,tf.image.grayscale_to_rgb
tf.image.rgb_to_hsv
,tf.image.hsv_to_rgb
tf.image.rgb_to_yiq
,tf.image.yiq_to_rgb
tf.image.rgb_to_yuv
,tf.image.yuv_to_rgb
tf.image.image_gradients
tf.image.convert_image_dtype
Ajustes de imagen
TensorFlow proporciona funciones para ajustar imágenes de varias formas: brillo, contraste, tono y saturación. Cada ajuste se puede realizar con parámetros predefinidos o con parámetros aleatorios seleccionados de intervalos predefinidos. Los ajustes aleatorios suelen ser útiles para ampliar un conjunto de entrenamiento y reducir el sobreajuste.
Si se encadenan varios ajustes, es aconsejable minimizar el número de conversiones redundantes convirtiendo primero las imágenes al tipo y representación de datos más natural.
tf.image.adjust_brightness
tf.image.adjust_contrast
tf.image.adjust_gamma
tf.image.adjust_hue
tf.image.adjust_jpeg_quality
tf.image.adjust_saturation
tf.image.random_brightness
tf.image.random_contrast
tf.image.random_hue
tf.image.random_saturation
tf.image.per_image_standardization
Trabajar con cuadros delimitadores
tf.image.draw_bounding_boxes
tf.image.combined_non_max_suppression
tf.image.generate_bounding_box_proposals
tf.image.non_max_suppression
tf.image.non_max_suppression_overlaps
tf.image.non_max_suppression_padded
tf.image.non_max_suppression_with_scores
tf.image.pad_to_bounding_box
tf.image.sample_distorted_bounding_box
Recortar
tf.image.central_crop
tf.image.crop_and_resize
tf.image.crop_to_bounding_box
tf.io.decode_and_crop_jpeg
tf.image.extract_glimpse
tf.image.random_crop
tf.image.resize_with_crop_or_pad
Voltear, rotar y transponer
tf.image.flip_left_right
tf.image.flip_up_down
tf.image.random_flip_left_right
tf.image.random_flip_up_down
tf.image.rot90
tf.image.transpose
Decodificación y codificación de imágenes
TensorFlow proporciona Ops para decodificar y codificar formatos JPEG y PNG. Las imágenes codificadas están representadas por escalares string Tensores, imágenes decodificadas por 3-D uint8 tensores de forma [height, width, channels]
. (PNG también es compatible con uint16).
Nota:
decode_gif
devuelve un 4-D array[num_frames, height, width, 3]
Las operaciones de codificación y decodificación se aplican a una imagen a la vez. Su entrada y salida son todas de tamaño variable. Si necesita imágenes de tamaño fijo, pase la salida de las operaciones de decodificación a una de las operaciones de recorte y cambio de tamaño.
tf.io.decode_bmp
tf.io.decode_gif
tf.io.decode_image
tf.io.decode_jpeg
tf.io.decode_and_crop_jpeg
tf.io.decode_png
tf.io.encode_jpeg
tf.io.encode_png
Clases
class ResizeMethod
: Ver tf.image.resize
para detalles.
Funciones
adjust_brightness(...)
: Ajusta el brillo de las imágenes RGB o en escala de grises.
adjust_contrast(...)
: Ajusta el contraste de las imágenes RGB o en escala de grises.
adjust_gamma(...)
: Realiza Corrección gamma.
adjust_hue(...)
: Ajusta el tono de las imágenes RGB.
adjust_jpeg_quality(...)
: Ajusta la calidad de codificación jpeg de una imagen.
adjust_saturation(...)
: Ajusta la saturación de las imágenes RGB.
central_crop(...)
: Recorta la región central de las imágenes.
combined_non_max_suppression(...)
: Selecciona con avidez un subconjunto de cuadros delimitadores en orden descendente de puntuación.
convert_image_dtype(...)
: Convertir image
para dtype
, escalando sus valores si es necesario.
crop_and_resize(...)
: Extrae recortes del tensor de imagen de entrada y los redimensiona.
crop_to_bounding_box(...)
: Recorta una imagen en un cuadro delimitador especificado.
decode_and_crop_jpeg(...)
: Decodifica y recorta una imagen codificada en JPEG en un tensor uint8.
decode_bmp(...)
: Decodifica el primer fotograma de una imagen codificada en BMP en un tensor uint8.
decode_gif(...)
: Decodifica los fotogramas de una imagen codificada en GIF en un tensor uint8.
decode_image(...)
: Función para decode_bmp
, decode_gif
, decode_jpeg
, y decode_png
.
decode_jpeg(...)
: Decodifica una imagen codificada en JPEG en un tensor uint8.
decode_png(...)
: Decodifica una imagen codificada en PNG en un tensor uint8 o uint16.
draw_bounding_boxes(...)
: Dibuja cuadros delimitadores en un lote de imágenes.
encode_jpeg(...)
: Codifica una imagen en formato JPEG.
encode_png(...)
: Codifica una imagen en formato PNG.
extract_glimpse(...)
: Extrae un vistazo del tensor de entrada.
extract_jpeg_shape(...)
: Extrae la información de forma de una imagen codificada en JPEG.
extract_patches(...)
: Extraer patches
de images
.
flip_left_right(...)
: Voltea una imagen horizontalmente (de izquierda a derecha).
flip_up_down(...)
: Voltea una imagen verticalmente (boca abajo).
generate_bounding_box_proposals(...)
: Genere propuestas de cuadro delimitador a partir de cuadros delimitadores codificados.
grayscale_to_rgb(...)
: Convierte una o más imágenes de escala de grises a RGB.
hsv_to_rgb(...)
: Convierte una o más imágenes de HSV a RGB.
image_gradients(...)
: Devuelve degradados de imagen (dy, dx) para cada canal de color.
is_jpeg(...)
: Función de conveniencia para comprobar si el ‘contenido’ codifica una imagen JPEG.
non_max_suppression(...)
: Selecciona con avidez un subconjunto de cuadros delimitadores en orden descendente de puntuación.
non_max_suppression_overlaps(...)
: Selecciona con avidez un subconjunto de cuadros delimitadores en orden descendente de puntuación.
non_max_suppression_padded(...)
: Selecciona con avidez un subconjunto de cuadros delimitadores en orden descendente de puntuación.
non_max_suppression_with_scores(...)
: Selecciona con avidez un subconjunto de cuadros delimitadores en orden descendente de puntuación.
pad_to_bounding_box(...)
: Pad image
con ceros al especificado height
y width
.
per_image_standardization(...)
: Escala linealmente cada imagen en image
tener media 0 y varianza 1.
psnr(...)
: Devuelve la relación pico entre la señal y el ruido entre ay b.
random_brightness(...)
: Ajusta el brillo de las imágenes mediante un factor aleatorio.
random_contrast(...)
: Ajusta el contraste de una imagen o imágenes mediante un factor aleatorio.
random_crop(...)
: Recorta aleatoriamente un tensor a un tamaño determinado.
random_flip_left_right(...)
: Voltea una imagen de forma aleatoria horizontalmente (de izquierda a derecha).
random_flip_up_down(...)
: Voltea aleatoriamente una imagen verticalmente (al revés).
random_hue(...)
: Ajusta el tono de las imágenes RGB mediante un factor aleatorio.
random_jpeg_quality(...)
: Cambia aleatoriamente la calidad de codificación jpeg para inducir ruido jpeg.
random_saturation(...)
: Ajusta la saturación de las imágenes RGB mediante un factor aleatorio.
resize(...)
: Cambiar tamaño images
para size
usando el especificado method
.
resize_with_crop_or_pad(...)
: Recorta y / o rellena una imagen a un ancho y alto objetivo.
resize_with_pad(...)
: Cambia el tamaño y rellena una imagen a un ancho y alto de destino.
rgb_to_grayscale(...)
: Convierte una o más imágenes de RGB a escala de grises.
rgb_to_hsv(...)
: Convierte una o más imágenes de RGB a HSV.
rgb_to_yiq(...)
: Convierte una o más imágenes de RGB a YIQ.
rgb_to_yuv(...)
: Convierte una o más imágenes de RGB a YUV.
rot90(...)
: Gire las imágenes en el sentido contrario a las agujas del reloj 90 grados.
sample_distorted_bounding_box(...)
: Genera un único cuadro delimitador distorsionado aleatoriamente para una imagen.
sobel_edges(...)
: Devuelve un tensor que contiene mapas de bordes de Sobel.
ssim(...)
: Calcula el índice SSIM entre img1 e img2.
ssim_multiscale(...)
: Calcula el MS-SSIM entre img1 e img2.
stateless_random_brightness(...)
: Ajusta el brillo de las imágenes mediante un factor aleatorio de forma determinista.
stateless_random_contrast(...)
: Ajusta el contraste de las imágenes mediante un factor aleatorio de forma determinista.
stateless_random_crop(...)
: Recorta aleatoriamente un tensor a un tamaño determinado de manera determinista.
stateless_random_flip_left_right(...)
: Voltea una imagen de forma aleatoria horizontalmente (de izquierda a derecha) de forma determinista.
stateless_random_flip_up_down(...)
: Voltea aleatoriamente una imagen verticalmente (al revés) de forma determinista.
stateless_random_hue(...)
: Ajusta el tono de las imágenes RGB mediante un factor aleatorio de forma determinista.
stateless_random_jpeg_quality(...)
: Radomice de forma determinista la calidad de codificación jpeg para inducir ruido jpeg.
stateless_random_saturation(...)
: Ajusta la saturación de las imágenes RGB mediante un factor aleatorio de forma determinista.
stateless_sample_distorted_bounding_box(...)
: Genere un cuadro delimitador distorsionado aleatoriamente para una imagen de forma determinista.
total_variation(...)
: Calcula y devuelve la variación total de una o más imágenes.
transpose(...)
: Transponga la (s) imagen (s) intercambiando la dimensión de alto y ancho.
yiq_to_rgb(...)
: Convierte una o más imágenes de YIQ a RGB.
yuv_to_rgb(...)
: Convierte una o más imágenes de YUV a RGB.