Модуль: tf.compat.v1.image
Операции с изображениями.
Модуль tf.image содержит различные функции для обработки изображений и операций декодирования-кодирования.
Многие функции кодирования/декодирования также доступны в основном модуле tf.io.
Обработка изображений
Изменение размера
Операции изменения размера принимают входные изображения в виде тензоров нескольких типов. Они всегда выдают изменённые изображения в виде тензоров float32.
Функция-обёртка tf.image.resize поддерживает в качестве входных и выходных данных тензоры как 4-мерные, так и 3-мерные. 4-мерные тензоры предназначены для партий изображений, 3-мерные — для отдельных изображений.
Изменённые изображения будут искажены, если их исходное соотношение сторон отличается от размера. Чтобы избежать искажений, см. tf.image.resize_with_pad.
Класс tf.image.ResizeMethod предоставляет различные методы изменения размера, такие как bilinear, nearest_neighbor.
Преобразование между цветовыми пространствами
Операции с изображениями работают либо с отдельными изображениями, либо с партиями изображений в зависимости от формы входного тензора.
Если размерность 3, форма — [height, width, channels], и тензор представляет одно изображение. Если размерность 4, форма — [batch_size, height, width, channels], и тензор представляет batch_size изображений.
В настоящее время channels может быть 1, 2, 3 или 4. Изображения с одним каналом — это оттенки серого, изображения с 3 каналами закодированы как RGB или HSV. Изображения с 2 или 4 каналами включают альфа-канал, который необходимо удалить из изображения перед передачей его большинству функций обработки изображений (и его можно снова добавить позже).
Внутренне изображения хранятся как одно значение float32 на канал на пиксель (неявно предполагается, что значения находятся в диапазоне [0,1)) или одно uint8 на канал на пиксель (предполагается, что значения находятся в диапазоне [0,255]).
TensorFlow может преобразовывать изображения между RGB, HSV или 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_gradientstf.image.convert_image_dtype
Настройки изображений
TensorFlow предоставляет функции для настройки изображений различными способами: яркость, контрастность, оттенок и насыщенность. Каждую настройку можно выполнить с предопределёнными параметрами или с случайными параметрами, выбранными из предопределённых интервалов. Случайные настройки часто полезны для расширения обучающего набора и уменьшения переобучения.
Если несколько настроек выполняются последовательно, рекомендуется минимизировать количество избыточных преобразований, сначала преобразуя изображения в наиболее естественный тип данных и представление.
tf.image.adjust_brightnesstf.image.adjust_contrasttf.image.adjust_gammatf.image.adjust_huetf.image.adjust_jpeg_qualitytf.image.adjust_saturationtf.image.random_brightnesstf.image.random_contrasttf.image.random_huetf.image.random_saturationtf.image.per_image_standardization
Работа с ограничивающими прямоугольниками
tf.image.draw_bounding_boxestf.image.combined_non_max_suppressiontf.image.generate_bounding_box_proposalstf.image.non_max_suppressiontf.image.non_max_suppression_overlapstf.image.non_max_suppression_paddedtf.image.non_max_suppression_with_scorestf.image.pad_to_bounding_boxtf.image.sample_distorted_bounding_box
Обрезка
tf.image.central_croptf.image.crop_and_resizetf.image.crop_to_bounding_boxtf.io.decode_and_crop_jpegtf.image.extract_glimpsetf.image.random_croptf.image.resize_with_crop_or_pad
Отражение, вращение и транспонирование
tf.image.flip_left_righttf.image.flip_up_downtf.image.random_flip_left_righttf.image.random_flip_up_downtf.image.rot90tf.image.transpose
Декодирование и кодирование изображений
TensorFlow предоставляет операции для декодирования и кодирования форматов JPEG и PNG. Закодированные изображения представлены скалярными строковыми тензорами, декодированные изображения — 3-мерными тензорами uint8 с формой [height, width, channels]. (PNG также поддерживает uint16.)
Примечание:decode_gifвозвращает 4-мерный массив[num_frames, height, width, 3]
Операции кодирования и декодирования применяются к одному изображению за раз. Их вход и выход имеют переменный размер. Если вам нужны изображения фиксированного размера, передайте выход декодирующих операций одной из операций обрезки и изменения размера.
tf.io.decode_bmptf.io.decode_giftf.io.decode_imagetf.io.decode_jpegtf.io.decode_and_crop_jpegtf.io.decode_pngtf.io.encode_jpegtf.io.encode_png
Классы
class ResizeMethod: Подробнее см. v1.image.resize.
Функции
adjust_brightness(...): Регулирует яркость изображений RGB или оттенков серого.
adjust_contrast(...): Регулирует контрастность изображений RGB или оттенков серого.
adjust_gamma(...): Выполняет Коррекцию гамма-каналов.
adjust_hue(...): Регулирует оттенок изображений RGB.
adjust_jpeg_quality(...): Регулирует качество кодирования JPEG изображения.
adjust_saturation(...): Регулирует насыщенность изображений RGB.
central_crop(...): Обрезает центральную область изображения(ов).
combined_non_max_suppression(...): Жадно выбирает подмножество ограничивающих прямоугольников в порядке убывания оценки.
convert_image_dtype(...): Преобразует image в dtype, масштабируя его значения при необходимости.
crop_and_resize(...): Извлекает области из входного тензора изображения и изменяет их размер.
crop_to_bounding_box(...): Обрезает изображение до заданной ограничивающей рамки.
decode_and_crop_jpeg(...): Декодирует и обрезает закодированное в JPEG изображение до тензора uint8.
decode_bmp(...): Декодирует первый кадр изображения, закодированного в BMP, в тензор uint8.
decode_gif(...): Декодирует кадр(ы) изображения, закодированного в GIF, в тензор uint8.
decode_image(...): Функция для decode_bmp, decode_gif, decode_jpeg, и decode_png.
decode_jpeg(...): Декодирует закодированное в JPEG изображение в тензор uint8.
decode_png(...): Декодирует закодированное в PNG изображение в тензор uint8 или uint16.
draw_bounding_boxes(...): Рисует ограничивающие прямоугольники на пачке изображений.
encode_jpeg(...): Кодирует изображение в JPEG.
encode_png(...): Кодирует изображение в PNG.
extract_glimpse(...): Извлекает фрагмент из входного тензора.
extract_image_patches(...): Извлекает patches из images и помещает их в выходной размер "глубина".
extract_jpeg_shape(...): Извлекает информацию о форме закодированного в JPEG изображения.
extract_patches(...): Извлекает patches из images.
flip_left_right(...): Отражает изображение горизонтально (слева направо).
flip_up_down(...): Отражает изображение вертикально (вверх ногами).
generate_bounding_box_proposals(...): Генерирует предложения ограничивающих прямоугольников из закодированных ограничивающих прямоугольников.
grayscale_to_rgb(...): Преобразует одно или несколько изображений из оттенков серого в RGB.
hsv_to_rgb(...): Преобразовать один или несколько изображений из HSV в RGB.
image_gradients(...): Возвращает градиенты изображения (dy, dx) для каждого цветового канала.
is_jpeg(...): Функция для проверки, кодирует ли 'contents' изображение JPEG.
non_max_suppression(...): Жадно выбирает подмножество прямоугольников с границами в порядке убывания оценки.
non_max_suppression_overlaps(...): Жадно выбирает подмножество прямоугольников с границами в порядке убывания оценки.
non_max_suppression_padded(...): Жадно выбирает подмножество прямоугольников с границами в порядке убывания оценки.
non_max_suppression_with_scores(...): Жадно выбирает подмножество прямоугольников с границами в порядке убывания оценки.
pad_to_bounding_box(...): Дополнить image нулями до указанных height и width.
per_image_standardization(...): Линейно масштабирует каждое изображение в image для получения среднего значения 0 и дисперсии 1.
psnr(...): Возвращает отношение пиковой мощности к шуму (PSNR) между a и b.
random_brightness(...): Изменяет яркость изображений случайным множителем.
random_contrast(...): Изменяет контрастность изображения или изображений случайным множителем.
random_crop(...): Случайно обрезает тензор до заданного размера.
random_flip_left_right(...): Случайно переворачивает изображение по горизонтали (слева направо).
random_flip_up_down(...): Случайно переворачивает изображение по вертикали (вверх ногами).
random_hue(...): Изменяет оттенок изображений RGB случайным множителем.
random_jpeg_quality(...): Случайно изменяет качество кодирования JPEG для введения шума JPEG.
random_saturation(...): Изменяет насыщенность изображений RGB случайным множителем.
resize(...): Изменить размер images до size с использованием указанного method.
resize_area(...): Изменить размер images до size с использованием интерполяции по площади.
resize_image_with_crop_or_pad(...): Обрезает и/или дополняет изображение до целевой ширины и высоты.
resize_image_with_pad(...): Изменяет размер и дополняет изображение до целевой ширины и высоты.
resize_images(...): Изменить размер images до size с использованием указанного method.
resize_with_crop_or_pad(...): Обрезает и/или дополняет изображение до целевой ширины и высоты.
rgb_to_grayscale(...): Преобразует одно или несколько изображений из RGB в оттенки серого.
rgb_to_hsv(...): Преобразует одно или несколько изображений из RGB в HSV.
rgb_to_yiq(...): Преобразует одно или несколько изображений из RGB в YIQ.
rgb_to_yuv(...): Преобразует одно или несколько изображений из RGB в YUV.
rot90(...): Поворачивает изображение(я) против часовой стрелки на 90 градусов.
sample_distorted_bounding_box(...): Генерирует один случайно искаженный прямоугольник с границами для изображения. (устарело)
sobel_edges(...): Возвращает тензор, содержащий карты границ по методу Соболя.
ssim(...): Вычисляет индекс SSIM между img1 и img2.
ssim_multiscale(...): Вычисляет MS-SSIM между img1 и img2.
total_variation(...): Вычисляет и возвращает полную вариацию для одного или нескольких изображений.
transpose(...): Транспонирует изображение(я), поменяв местами измерения высоты и ширины.
transpose_image(...): Транспонирует изображение(я), поменяв местами измерения высоты и ширины.
yiq_to_rgb(...): Преобразует одно или несколько изображений из YIQ в RGB.
yuv_to_rgb(...): Преобразует одно или несколько изображений из YUV в RGB.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/compat/v1/image