Модуль: 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(...): Функция для проверки, кодирует ли «содержимое» изображение 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(...): Возвращает пиковое отношение сигнал/шум между 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.3/api_docs/python/tf/compat/v1/image