У меня есть 4D ndarray данных изображения, который организован как [NumberOfImages, RowsOfImage, ColumnsOfImage, ChannelsOfImage].Есть ли функция изменения размера в Python для изменения размера изображения как функции tf.image.resize_images от TensorFlow?
Теперь я хочу, чтобы изменить размер изображения в ndarray 4D на новый размер, который с размером [NumberOfImages, NewRowsOfImage, NewColumnsOfImage, ChannelsOfImage], в то время как другие размеры остаются неизменными.
Я знаю, что есть функция tf.image.resize_images в TensorFlow для этого. Если новое изображение больше оригинального, новое изображение будет заполнено новыми пикселями с использованием интерполяции Bilinear или интерполяции ближайшего соседа.
Однако ndarray данных изображения был преобразован в объект Tensor TensorFlow после изменения размера. Затем я должен преобразовать его обратно в ndarray. Эти процедуры будут стоить огромного времени.
Я пробовал skimage.transform.resize, но эта функция изменяет размер данных 2D-изображения. Если я использую эту функцию, я должен использовать для цикла, который также будет стоить огромного времени.
Итак, есть функция изменения размера в Python, которая аналогична функции tf.image.resize_images от TensorFlow? Если нет, может ли кто-нибудь дать мне несколько советов, чтобы решить мою проблему?
спасибо.
Спасибо. Но операция в вашем примере - это просто изменение изображения. Тогда Кажется, что функция np.resize может изменить размер изображения на большее изображение. Однако он не изменяет его размер с использованием общего метода интерполяции, такого как метод интерполяции ближайшего соседа, такой как функция tf.image.resize_images TensorFlow. Он просто заполняет исходное изображение повторяющимися его копиями. Мне жаль, что это не то, что я хочу. В любом случае, спасибо вам все равно. – Kongsea
см. Мой отредактированный ответ. –
Да, он работает на этот раз. Но ваша программа использовала ** для цикла **, который занимал много времени, так как наши данные изображения содержат сотни тысяч изображений. Кроме того, когда данные изображения были перемасштабированы в формат float от 0 до 1, появится ошибка, которая показывает, что формат не поддерживается. В любом случае, большое спасибо за вашу любезную помощь. – Kongsea