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.