Я хочу снять шум с моих изображений с помощью гауссовского фильтра. Я хочу, чтобы это было окно 5х5 и сигма = 1,4. Я заметил, что фильтр Гаусса в scipy не позволяет вам определить размер окна. Есть ли альтернатива или я что-то упустил в библиотеке scipy?
Если вы ссылаетесь на scipy.ndimage.gaussian_filter, он имеет параметр truncation. Установка его в 1.4, скорее всего, усечет гауссовский сигма 1.4 до фильтра 5x5.
scipy.ndimage.gaussian_filter
truncation
В документации не указано, как рассчитывается размер фильтра, но обычный метод - 2*ceil(sigma*truncation)+1. Я также видел round, используемый вместо ceil. В любом случае усечение 1.4 приведет к 5.
2*ceil(sigma*truncation)+1
round
ceil
Вы можете использовать open-cv python в качестве альтернативы.
import cv2 filtered_img = cv2.GaussianBlur(img, (5, 5), 1.4)