#python #tensorflow #opencv #filter
#python #tensorflow #opencv #Фильтр
Вопрос:
на изображении код использует код UTF для изменения размера изображений, как я могу применить фильтр среднего значения ко всем изображениям, загружая набор данных
Ответ №1:
В аддонах TensorFlow доступны различные фильтры для преобразования изображений.
Судя по коду в вашей функции синтаксического анализа, вы читаете изображение и хотите реализовать свою логику внутри функции синтаксического анализа.
Примечание: tensorflow_addons — это отдельный пакет, и вы должны установить его отдельно.
import tensorflow_addons as tfa
img_raw = tf.io.read_file(img_path) # byte string
img = tf.io.decode_image(img_raw) # numpy array with dtype unint8
img = tf.image.convert_image_dtype(img, tf.float32) # numpy array with dtype float32
img = tf.image.resize(img, [500,500])
plt.title("TensorFlow Logo with shape {}".format(img.shape))
_ = plt.imshow(img)
Теперь применяем фильтр среднего значения с помощью tfa.image.mean_filter2d().
Вы можете посмотреть документацию здесь: Ссылка
Код:
mean = tfa.image.mean_filter2d(img, filter_shape=11)
_ = plt.imshow(mean)
В дополнениях tensorflow есть множество других фильтров изображений.
Вы можете проверить работу здесь: Ссылка
Комментарии:
1. я использую cv2.blur для применения фильтров среднего значения
2. Это зависит от вашего выбора. Поскольку у вас также был tensorflow в качестве одной из меток, я предоставил решения с использованием tensorflow.
3. я использовал cv2. blur для фильтров среднего значения, это правильный способ? что я записываю в своей функции prase?