我的任务是对图像执行“任意”傅立叶滤波-Buttworth,贝塞尔和其他类型的低/高/带通和抑制滤波器。一个幼稚的实现:
# b, a are the result of scipy.signal.bessel or .butter, etc
# lfilter could be filtfilt too
filt_y = signal.lfilter(b, a, img, axis=0)
filt_both = signal.lfilter(b, a, filt_y, axis=1)
将沿通过k空间中原点的十字线产生效果,但不触及角部区域。有没有办法仍然使用scipy.signal来做到这一点,但是在带内和带外区域使用环形空间?我不希望在cv2中找到DoG或其他类型的基于内核的过滤器,而是想要在scipy.signal中实现的因果过滤器。
原则上,所有需要做的就是能够传递每个样本的频率值np.sqrt(fxx ** 2 + fyy ** 2),但是我看不到如何执行此操作信号API。