淘宝联盟链接的网站怎么做的丽水网站建设公司排名
web/
2025/9/27 14:45:53/
文章来源:
淘宝联盟链接的网站怎么做的,丽水网站建设公司排名,网站开发的流程,深圳网站建设及优化专栏地址#xff1a;『youcans 的 OpenCV 例程 300篇 - 总目录』 【第 7 章#xff1a;图像复原与重建】 102. 陷波带阻滤波器的传递函数 103. 陷波带阻滤波器消除周期噪声干扰 【youcans 的 OpenCV 例程 300 篇】102. 陷波带阻滤波器的传递函数 通过频率域滤波可以有效分析并…专栏地址『youcans 的 OpenCV 例程 300篇 - 总目录』 【第 7 章图像复原与重建】 102. 陷波带阻滤波器的传递函数 103. 陷波带阻滤波器消除周期噪声干扰 【youcans 的 OpenCV 例程 300 篇】102. 陷波带阻滤波器的传递函数 通过频率域滤波可以有效分析并滤除周期噪声其理论基础是傅里叶变换后周期噪声在对应周期干扰的频率显示为集中突发的能量因此可以使用选择性滤波器来分离滤除噪声。
4.1 陷波滤波器Notch Filter
陷波滤波器阻止或通过预定的频率矩形邻域中的频率可以很好地复原被周期性噪声干扰的图像。在《5.2 陷波滤波器Notch Filter》已进行介绍并给出了例程。
陷波滤波器可以在某一个频率点迅速衰减输入信号以达到阻碍此频率信号通过的滤波效果的滤波器。
陷波带阻滤波器的传递函数是中心平移到陷波中心的各个高通滤波器的乘积 HNR(u,v)∏k1QHk(u,v)H−k(u,v)H_{NR}(u,v) \prod_{k1}^Q H_k(u,v) H_{-k}(u,v) HNR(u,v)k1∏QHk(u,v)H−k(u,v)
其中滤波器的距离计算公式为 Dk(u,v)(u−M/2−uk)2(v−N/2−vk)2D−k(u,v)(u−M/2uk)2(v−N/2vk)2D_k(u,v) \sqrt{(u-M/2-u_k)^2 (v-N/2-v_k)^2} \\ D_{-k}(u,v) \sqrt{(u-M/2u_k)^2 (v-N/2v_k)^2} Dk(u,v)(u−M/2−uk)2(v−N/2−vk)2D−k(u,v)(u−M/2uk)2(v−N/2vk)2 例如具有 3个陷波对的 n 阶巴特沃斯陷波带阻滤波器为 HNR(u,v)∏k13[11[D0k/Dk(u,v)]n][11[D−k/Dk(u,v)]n]H_{NR}(u,v) \prod_{k1}^3 [\frac{1}{1[D_{0k}/D_k(u,v)]^n}] [\frac{1}{1[D_{-k}/D_k(u,v)]^n}] HNR(u,v)k1∏3[1[D0k/Dk(u,v)]n1][1[D−k/Dk(u,v)]n1]
例程 9.16陷波带阻滤波器的传递函数 # 9.16: 陷波带阻滤波器的传递函数def ideaBondResistFilter(shape, radius10, w5): # 理想带阻滤波器u, v np.meshgrid(np.arange(shape[1]), np.arange(shape[0]))D np.sqrt((u - shape[1]//2)**2 (v - shape[0]//2)**2)D0 radiushalfW w/2kernel np.piecewise(D, [DD0halfW, DD0-halfW], [1, 0])kernel 1 - kernel # 带阻return kerneldef butterworthNRFilter(img, radius10, uk60, vk80, n1): # 巴特沃斯陷波带阻滤波器M, N img.shape[1], img.shape[0]u, v np.meshgrid(np.arange(M), np.arange(N))Dkm np.sqrt((u - M//2 - uk)**2 (v - N//2 - vk)**2) # D_kDkp np.sqrt((u - M//2 uk)**2 (v - N//2 vk)**2) # D_-kD0 radiusn2 n * 2epsilon 1e-6kernel (1 / (1 (D0 / (Dkmepsilon))**n2)) * (1 / (1 (D0 / (Dkpepsilon))**n2))return kerneldef gaussNRFilter(img, radius10, uk60, vk80): # 高斯陷波带阻滤波器M, N img.shape[1], img.shape[0]u, v np.meshgrid(np.arange(M), np.arange(N))Dkm np.sqrt((u - M//2 - uk)**2 (v - N//2 - vk)**2) # D_kDkp np.sqrt((u - M//2 uk)**2 (v - N//2 vk)**2) # D_-kD0 radiuskernel (1 - np.exp(-(Dkm**2)/(D0**2))) * (1 - np.exp(-(Dkp**2)/(D0**2)))return kerneldef ideaNRFilter(img, radius10, uk60, vk80): # 高斯陷波带阻滤波器M, N img.shape[1], img.shape[0]u, v np.meshgrid(np.arange(M), np.arange(N))Dkm np.sqrt((u - M//2 - uk)**2 (v - N//2 - vk)**2) # D_kDkp np.sqrt((u - M//2 uk)**2 (v - N//2 vk)**2) # D_-kD0 radiusk1 Dkm.copy()k1[DkmD0] 1k1[DkmD0] 0k2 Dkp.copy()k2[DkpD0] 1k2[DkpD0] 0kernel k1 * k2return kernel# 理想、高斯、巴特沃斯陷波带阻滤波器传递函数img np.zeros([128, 128])shape img.shaperadius 15INRF ideaNRFilter(img, radiusradius, uk20, vk30) # (uk,vk) 陷波中心GNRF gaussNRFilter(img, radiusradius, uk20, vk30)BNRF butterworthNRFilter(img, radiusradius, uk20, vk30, n2)filters [INRF, GNRF, BNRF]u, v np.mgrid[-1:1:2.0/shape[0], -1:1:2.0/shape[1]]fig plt.figure(figsize(10, 8))for i in range(3):nrFilter eval(filters[i]).copy()ax1 fig.add_subplot(3, 3, 3*i1)ax1.imshow(nrFilter, gray)ax1.set_title(filters[i]), ax1.set_xticks([]), ax1.set_yticks([])ax2 plt.subplot(3,3,3*i2, projection3d)ax2.set_title(transfer function)ax2.plot_wireframe(u, v, nrFilter, rstride2, linewidth0.5, colorc)ax2.set_xticks([]), ax2.set_yticks([]), ax2.set_zticks([])ax3 plt.subplot(3,3,3*i3)profile nrFilter[:, 30]ax3.plot(profile), ax3.set_title(profile), ax3.set_xticks([]), ax3.set_yticks([])plt.show()本节完 版权声明 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/122839566) Copyright 2022 youcans, XUPT Crated2022-2-1
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82819.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!