当前位置: 首页 > news >正文

深圳 网站建设公司网站建设捌金手指花总二七

深圳 网站建设公司,网站建设捌金手指花总二七,网站建设公司基本流程,开发区人才市场招聘信息目录使用低通频率域滤波器平滑图像理想低通滤波器(ILPF)高斯低通滤波器(GLPF)巴特沃斯低通滤波器低通滤波的例子使用低通频率域滤波器平滑图像 理想低通滤波器(ILPF) 在以原点为中心的一个圆内无衰减地通过所有频率#xff0c;而在这个圆外“截止”所有的频率的二维低通滤波… 目录使用低通频率域滤波器平滑图像理想低通滤波器(ILPF)高斯低通滤波器(GLPF)巴特沃斯低通滤波器低通滤波的例子使用低通频率域滤波器平滑图像 理想低通滤波器(ILPF) 在以原点为中心的一个圆内无衰减地通过所有频率而在这个圆外“截止”所有的频率的二维低通滤波器。 H(u,v){1,D(u,v)≤D00,D(u,v)D0(4.111)H(u, v) \begin{cases} 1, D(u, v) \leq D_0 \\0, D(u, v) D_0\end{cases} \tag{4.111}H(u,v){1,0,​D(u,v)≤D0​D(u,v)D0​​(4.111) D(u,v)[(u−P/2)2(v−Q/2)2]1/2(4.12)D(u, v) \big[(u - P/2)^2 (v - Q/2)^2 \big]^{1/2} \tag{4.12}D(u,v)[(u−P/2)2(v−Q/2)2]1/2(4.12) D0D_0D0​是一个正常数控制圆的大小 def idea_low_pass_filter(source, center, radius5):create idea low pass filter param: source: input, source imageparam: center: input, the center of the filter, where is the lowest value, (0, 0) is top left corner, source.shape[:2] is center of the source imageparam: radius: input, the radius of the lowest value, greater value, bigger blocker out range, if the radius is 0, then allvalue is 0return a [0, 1] value filterM, N source.shape[1], source.shape[0]u np.arange(M)v np.arange(N)u, v np.meshgrid(u, v)D np.sqrt((u - center[1]//2)**2 (v - center[0]//2)**2)D0 radiuskernel D.copy()kernel[D D0] 0kernel[D D0] 1return kerneldef plot_3d(ax, x, y, z):ax.plot_surface(x, y, z, antialiasedTrue, shadeTrue)ax.view_init(20, 60), ax.grid(bFalse), ax.set_xticks([]), ax.set_yticks([]), ax.set_zticks([])# 理想低通滤波器 ILPF from mpl_toolkits.mplot3d import Axes3D import numpy as np from matplotlib import pyplot as plt from matplotlib import cmcenter img_ori.shape ILPF idea_low_pass_filter(img_ori, center, radius50)# 用来绘制3D图 M, N img_ori.shape[1], img_ori.shape[0] u np.arange(M) v np.arange(N) u, v np.meshgrid(u, v)fig plt.figure(figsize(21, 7)) ax_1 fig.add_subplot(1, 3, 1, projection3d) plot_3d(ax_1, u, v, ILPF)ax_2 fig.add_subplot(1, 3, 2) ax_2.imshow(ILPF,gray), ax_2.set_xticks([]), ax_2.set_yticks([])h ILPF[img_ori.shape[0]//2:, img_ori.shape[1]//2] ax_3 fig.add_subplot(1, 3, 3) ax_3.plot(h), ax_3.set_xticks([0, 50]), ax_3.set_yticks([0, 1]), ax_3.set_xlim([0, 320]), ax_3.set_ylim([0, 1.2])plt.tight_layout() plt.show()总图像能量PTP_TPT​是对填充零后图像的功率谱的各个分量在点(u,v)(u, v)(u,v)处求和得到。 PT∑u0P−1∑v0Q−1P(u,v)(4.113)P_T \sum_{u0}^{P-1} \sum_{v0}^{Q-1}P(u, v) \tag{4.113}PT​u0∑P−1​v0∑Q−1​P(u,v)(4.113) 半径为D0D_0D0​的圆将包含aaa%的功率 a100[∑u0∑v0P(u,v)/PT](4.114)a 100\Big[ \sum_{u0} \sum_{v0}P(u, v) /P_T \Big] \tag{4.114}a100[u0∑​v0∑​P(u,v)/PT​](4.114) def mask_ring(img_ori, d10):ILPF_1 idea_low_pass_filter(img_ori, img_ori.shape, radiusd)ILPF_2 idea_low_pass_filter(img_ori, img_ori.shape, radiusd-1)ILPF ILPF_1 - ILPF_2return ILPF# 测试模型 img_ori cv2.imread(DIP_Figures/DIP3E_Original_Images_CH04/Fig0441(a)(characters_test_pattern).tif, -1) M, N img_ori.shape[:2]# 填充 fp pad_image(img_ori, modereflect)radius [10, 30, 60, 160, 460] mask np.zeros(fp.shape) for i in range(len(radius)):mask mask_ring(fp, dradius[i])plt.figure(figsize(16, 8)) plt.subplot(1, 2, 1), plt.imshow(img_ori, cmapgray), plt.xticks([]), plt.yticks([]) plt.subplot(1, 2, 2), plt.imshow(mask, cmapgray), plt.xticks([]), plt.yticks([]) plt.tight_layout() plt.show()注功率计算不太正确 #功率计算不太正确 # 填充 fp pad_image(img_ori, modeconstant) # 中心化 fp_cen centralized_2d(fp) # 正变换 fft np.fft.fft2(fp_cen) spectrum spectrum_fft(fft) # spectrum np.log(1 spectrum) PT spectrum.sum()ILPF idea_low_pass_filter(fp, fp.shape, D010)fh fft * ILPF spectrum spectrum_fft(fh) # spectrum np.log(1 spectrum) P spectrum.sum() print(fPower is - {100*(P / PT)})Power is - 3.269204251436661def ilpf_test(img_ori, modeconstant, radius10):M, N img_ori.shape[:2]# 填充fp pad_image(img_ori, modereflect)# 中心化fp_cen centralized_2d(fp)# 正变换fft np.fft.fft2(fp_cen)# 滤波器H idea_low_pass_filter(fp, centerfp.shape, radiusradius)# 滤波HF fft * H# 反变换ifft np.fft.ifft2(HF)# 去中心化gp centralized_2d(ifft.real)# 还回来与原图像的大小g gp[:M, :N]dst np.uint8(normalize(g) * 255)return dst# 频率域滤波过程 img_ori cv2.imread(DIP_Figures/DIP3E_Original_Images_CH04/Fig0441(a)(characters_test_pattern).tif, -1)radius [10, 30, 60, 160, 460]fig plt.figure(figsize(15, 10)) for i in range(len(radius)1):ax fig.add_subplot(2, 3, i1)if i 0:ax.imshow(img_ori, gray), ax.set_title(Original), ax.set_xticks([]), ax.set_yticks([])else:img ilpf_test(img_ori, radiusradius[i-1])ax.imshow(img, gray), ax.set_title(radius str(radius[i-1])), ax.set_xticks([]), ax.set_yticks([]) plt.tight_layout() plt.show()# 频率域ILPF传递函数对应的空间核函数 img_temp np.zeros([1000, 1000]) ILPF idea_low_pass_filter(img_temp, img_temp.shape, radius15) ifft np.fft.ifft2(ILPF) ifft np.fft.ifftshift(ifft) space ifft.real * 1200 space_s abs(space) # space_s np.clip(space, 0, space.max()) space_s normalize(space_s)hx space[:, 500] hx centralized_2d(hx.reshape(1, -1)).flatten()fig plt.figure(figsize(15, 5)) ax_1 fig.add_subplot(1, 3, 1) ax_1.imshow(ILPF, gray), ax_1.set_xticks([]), ax_1.set_yticks([])ax_2 fig.add_subplot(1, 3, 2) ax_2.imshow(space_s, gray), ax_2.set_xticks([]), ax_2.set_yticks([])ax_3 fig.add_subplot(1, 3, 3) ax_3.plot(hx), ax_3.set_xticks([]), ax_3.set_yticks([])plt.tight_layout() plt.show()高斯低通滤波器(GLPF) H(u,v)e−D2(u,v)/2D02(4.116)H(u,v) e^{-D^2(u,v) / 2D_0^2} \tag{4.116}H(u,v)e−D2(u,v)/2D02​(4.116) D0D_0D0​是截止频率。当D(u,v)D0D(u, v) D_0D(u,v)D0​时GLPF传递函数下降到其最大值1.0的0.607。 def gauss_low_pass_filter(source, center, radius5):create gauss low pass filter param: source: input, source imageparam: center: input, the center of the filter, where is the lowest value, (0, 0) is top left corner, source.shape[:2] is center of the source imageparam: radius: input, the radius of the lowest value, greater value, bigger blocker out range, if the radius is 0, then allvalue is 0return a [0, 1] value filter M, N source.shape[1], source.shape[0]u np.arange(M)v np.arange(N)u, v np.meshgrid(u, v)D np.sqrt((u - center[1]//2)**2 (v - center[0]//2)**2)D0 radiuskernel np.exp(- (D**2)/(2*D0**2))return kerneldef plot_3d(ax, x, y, z):ax.plot_surface(x, y, z, antialiasedTrue, shadeTrue)ax.view_init(20, 60), ax.grid(bFalse), ax.set_xticks([]), ax.set_yticks([]), ax.set_zticks([])# 高斯低通滤波器 GLPF from mpl_toolkits.mplot3d import Axes3D import numpy as np from matplotlib import pyplot as plt from matplotlib import cmcenter img_ori.shapeGLPF_10 gauss_low_pass_filter(img_ori, center, radius10) h_10 GLPF_10[img_ori.shape[0]//2:, img_ori.shape[1]//2] GLPF_20 gauss_low_pass_filter(img_ori, center, radius20) h_20 GLPF_20[img_ori.shape[0]//2:, img_ori.shape[1]//2] GLPF_40 gauss_low_pass_filter(img_ori, center, radius40) h_40 GLPF_40[img_ori.shape[0]//2:, img_ori.shape[1]//2] GLPF_60 gauss_low_pass_filter(img_ori, center, radius60) h_60 GLPF_60[img_ori.shape[0]//2:, img_ori.shape[1]//2]# 用来绘制3D图 M, N img_ori.shape[1], img_ori.shape[0] u np.arange(M) v np.arange(N) u, v np.meshgrid(u, v)fig plt.figure(figsize(21, 7)) ax_1 fig.add_subplot(1, 3, 1, projection3d) plot_3d(ax_1, u, v, GLPF_60)ax_2 fig.add_subplot(1, 3, 2) ax_2.imshow(GLPF_60,gray), ax_2.set_xticks([]), ax_2.set_yticks([])ax_3 fig.add_subplot(1, 3, 3) ax_3.plot(h_10, label$D_010$), ax_3.set_xticks([0, 50]), ax_3.set_yticks([0, 1]), ax_3.set_xlim([0, 320]), ax_3.set_ylim([0, 1.2]) ax_3.plot(h_20, label$D_020$) ax_3.plot(h_40, label$D_040$) ax_3.plot(h_60, label$D_060$) plt.legend(locbest) plt.tight_layout() plt.show()def glpf_test(img_ori, modeconstant, radius10):M, N img_ori.shape[:2]# 填充fp pad_image(img_ori, modemode)# 中心化fp_cen centralized_2d(fp)# 正变换fft np.fft.fft2(fp_cen)# 滤波器H gauss_low_pass_filter(fp, centerfp.shape, radiusradius)# 滤波HF fft * H# 反变换ifft np.fft.ifft2(HF)# 去中心化gp centralized_2d(ifft.real)# 还回来与原图像的大小g gp[:M, :N]dst np.uint8(normalize(g) * 255)return dst# 高斯低通滤波器在频率域滤波的使用这效果要比理想低通滤波器好很多不会出现振铃效应 img_ori cv2.imread(DIP_Figures/DIP3E_Original_Images_CH04/Fig0441(a)(characters_test_pattern).tif, -1)radius [10, 30, 60, 160, 460]fig plt.figure(figsize(15, 10)) for i in range(len(radius)1):ax fig.add_subplot(2, 3, i1)if i 0:ax.imshow(img_ori, gray), ax.set_title(Original), ax.set_xticks([]), ax.set_yticks([])else:img glpf_test(img_ori, modereflect, radiusradius[i-1])ax.imshow(img, gray), ax.set_title(radius str(radius[i-1])), ax.set_xticks([]), ax.set_yticks([]) plt.tight_layout() plt.show()# 频率域GLPF传递函数对应的空间核函数 img_temp np.zeros([1000, 1000]) GLPF gauss_low_pass_filter(img_temp, img_temp.shape, radius15) ifft np.fft.ifft2(GLPF) ifft np.fft.ifftshift(ifft) space ifft.real * 1200 space_s abs(space) space_s normalize(space_s)hx space[:, 500] hx centralized_2d(hx.reshape(1, -1)).flatten()fig plt.figure(figsize(15, 5)) ax_1 fig.add_subplot(1, 3, 1) ax_1.imshow(GLPF, gray), ax_1.set_xticks([]), ax_1.set_yticks([])ax_2 fig.add_subplot(1, 3, 2) ax_2.imshow(space_s, gray), ax_2.set_xticks([]), ax_2.set_yticks([])ax_3 fig.add_subplot(1, 3, 3) ax_3.plot(hx), ax_3.set_xticks([]), ax_3.set_yticks([])plt.tight_layout() plt.show()# 不使用传统方法 import cv2 import numpy as np import matplotlib.pyplot as pltimg_ic cv2.imread(DIP_Figures/DIP3E_Original_Images_CH04/Fig0429(a)(blown_ic).tif, 0) #直接读为灰度图像plt.figure(figsize(15, 12)) plt.subplot(221),plt.imshow(img_ic,gray),plt.title(origial), plt.xticks([]), plt.yticks([])#-------------------------------- fft np.fft.fft2(img_ic) fft_shift np.fft.fftshift(fft) amp_img np.abs(np.log(1 np.abs(fft_shift))) plt.subplot(222),plt.imshow(amp_img,gray),plt.title(IC FFT), plt.xticks([]), plt.yticks([])#-------------------------------- glpf gauss_low_pass_filter(img_ic, img_ic.shape, radius20) plt.subplot(223),plt.imshow(glpf,gray),plt.title(mask), plt.xticks([]), plt.yticks([])#-------------------------------- f1shift fft_shift * glpf f2shift np.fft.ifftshift(f1shift) #对新的进行逆变换 img_new np.fft.ifft2(f2shift)#出来的是复数无法显示 img_new np.abs(img_new)#调整大小范围便于显示 img_new (img_new-np.amin(img_new))/(np.amax(img_new)-np.amin(img_new)) plt.subplot(224),plt.imshow(img_new,gray),plt.title(GLPF), plt.xticks([]), plt.yticks([])plt.tight_layout() plt.show()巴特沃斯低通滤波器 H(u,v)11[D(u,v)/D0]2n(4.117)H(u,v) \frac{1} {1 [D(u,v) / D_0]^{2n}} \tag{4.117}H(u,v)1[D(u,v)/D0​]2n1​(4.117) D(u,v)[(u−M/2)2(v−N/2)2]1/2D(u,v) [(u - M/2)^2 (v-N/2)^2]^{1/2}D(u,v)[(u−M/2)2(v−N/2)2]1/2 特点 较高的nnn值来控制这个BLPF函数可逼近ILPF的特性较低的nnn值来控制这个BLPF函数可逼近GLPF的特性同时提供从低频到高频的平滑过渡。可用BLPF以小得多的振铃效应来逼近ILPF函数的清晰度 def butterworth_low_pass_filter(img, center, radius5, n1):create butterworth low pass filter param: source: input, source imageparam: center: input, the center of the filter, where is the lowest value, (0, 0) is top left corner, source.shape[:2] is center of the source imageparam: radius: input, the radius of the lowest value, greater value, bigger blocker out range, if the radius is 0, then allvalue is 0param: n: input, float, the order of the filter, if n is small, then the BLPF will be close to GLPF, and more smooth from lowfrequency to high freqency.if n is large, will close to ILPFreturn a [0, 1] value filter epsilon 1e-8M, N img.shape[1], img.shape[0]u np.arange(M)v np.arange(N)u, v np.meshgrid(u, v)D np.sqrt((u - center[1]//2)**2 (v - center[0]//2)**2)D0 radiuskernel (1 / (1 (D / (D0 epsilon))**(2*n)))return kerneldef plot_3d(ax, x, y, z):ax.plot_surface(x, y, z, antialiasedTrue, shadeTrue)ax.view_init(20, 60), ax.grid(bFalse), ax.set_xticks([]), ax.set_yticks([]), ax.set_zticks([])# 巴特沃斯低通滤波器 BLPF from mpl_toolkits.mplot3d import Axes3D import numpy as np from matplotlib import pyplot as plt from matplotlib import cmcenter img_ori.shapeBLPF_60_1 butterworth_low_pass_filter(img_ori, center, radius60, n1) h_1 BLPF_60_1[img_ori.shape[0]//2:, img_ori.shape[1]//2] BLPF_60_2 butterworth_low_pass_filter(img_ori, center, radius60, n2) h_2 BLPF_60_2[img_ori.shape[0]//2:, img_ori.shape[1]//2] BLPF_60_3 butterworth_low_pass_filter(img_ori, center, radius60, n3) h_3 BLPF_60_3[img_ori.shape[0]//2:, img_ori.shape[1]//2] BLPF_60_4 butterworth_low_pass_filter(img_ori, center, radius60, n4) h_4 BLPF_60_4[img_ori.shape[0]//2:, img_ori.shape[1]//2]# 用来绘制3D图 M, N img_ori.shape[1], img_ori.shape[0] u np.arange(M) v np.arange(N) u, v np.meshgrid(u, v)fig plt.figure(figsize(21, 7)) ax_1 fig.add_subplot(1, 3, 1, projection3d) plot_3d(ax_1, u, v, BLPF_60_1)ax_2 fig.add_subplot(1, 3, 2) ax_2.imshow(BLPF_60_1,gray), ax_2.set_xticks([]), ax_2.set_yticks([])ax_3 fig.add_subplot(1, 3, 3) ax_3.plot(h_1, label$n1$), ax_3.set_xticks([0, 50]), ax_3.set_yticks([0, 1]), ax_3.set_xlim([0, 320]), ax_3.set_ylim([0, 1.2]) ax_3.plot(h_2, label$n2$) ax_3.plot(h_3, label$n3$) ax_3.plot(h_4, label$n4$) plt.legend(locbest) plt.tight_layout() plt.show()def blpf_test(img_ori, modeconstant, radius10, n1):M, N img_ori.shape[:2]# 填充fp pad_image(img_ori, modemode)# 中心化fp_cen centralized_2d(fp)# 正变换fft np.fft.fft2(fp_cen)# 滤波器H butterworth_low_pass_filter(fp, centerfp.shape, radiusradius, nn)# 滤波HF fft * H# 反变换ifft np.fft.ifft2(HF)# 去中心化gp centralized_2d(ifft.real)# 还回来与原图像的大小g gp[:M, :N]dst np.uint8(normalize(g) * 255)return dst# 巴特沃斯低通滤波器在频率域滤波的使用 img_ori cv2.imread(DIP_Figures/DIP3E_Original_Images_CH04/Fig0441(a)(characters_test_pattern).tif, -1)radius [10, 30, 60, 160, 460]fig plt.figure(figsize(15, 10)) for i in range(len(radius)1):ax fig.add_subplot(2, 3, i1)if i 0:ax.imshow(img_ori, gray), ax.set_title(Original), ax.set_xticks([]), ax.set_yticks([])else:img blpf_test(img_ori, modereflect, radiusradius[i-1], n2.25)ax.imshow(img, gray), ax.set_title(radius str(radius[i-1])), ax.set_xticks([]), ax.set_yticks([]) plt.tight_layout() plt.show()空间域的一阶巴特沃斯没有振铃效应。在2阶和3阶滤波器中振铃效应通常难以察觉但更高阶滤波器中的振铃效应很明显。 # 频率域GLPF传递函数对应的空间核函数 img_temp np.zeros([1000, 1000]) BLPF butterworth_low_pass_filter(img_temp, img_temp.shape, radius15, n25) ifft np.fft.ifft2(BLPF) ifft np.fft.ifftshift(ifft) space ifft.real * 1200 space_s abs(space) space_s normalize(space_s)hx space[:, 500] hx centralized_2d(hx.reshape(1, -1)).flatten()fig plt.figure(figsize(15, 5)) ax_1 fig.add_subplot(1, 3, 1) ax_1.imshow(GLPF, gray), ax_1.set_xticks([]), ax_1.set_yticks([])ax_2 fig.add_subplot(1, 3, 2) ax_2.imshow(space_s, gray), ax_2.set_xticks([]), ax_2.set_yticks([])ax_3 fig.add_subplot(1, 3, 3) ax_3.plot(hx), ax_3.set_xticks([]), ax_3.set_yticks([])plt.tight_layout() plt.show()def frequen2spatial(filter):ifft np.fft.ifft2(filter)ifft np.fft.ifftshift(ifft)spatial ifft.real * 1200spatial_s abs(spatial)spatial_s normalize(spatial_s)return spatial, spatial_s# 频率域BLPF传递函数对应的空间核函数 img_temp np.zeros([1000, 1000]) n [1, 2, 5, 20]fig plt.figure(figsize(20, 10))for i in range(len(n)):# 这是显示空间域的核ax fig.add_subplot(2, 4, i1)BLPF butterworth_low_pass_filter(img_temp, img_temp.shape, radius15, nn[i])spatial, spatial_s frequen2spatial(BLPF)ax.imshow(spatial_s, gray), ax.set_xticks([]), ax.set_yticks([])# 这里显示是对应的空间域核水平扫描线的灰度分布ax fig.add_subplot(2, 4, i5)hx spatial[:, 500]hx centralized_2d(hx.reshape(1, -1)).flatten()ax.plot(hx, labelfn {n[i]}), ax.set_xticks([]), ax.set_yticks([])ax.legend(locbest, fontsize14) plt.tight_layout() plt.show()低通滤波的例子 出下图我们可以清晰看到不同的截止频率的核对图像的平滑效果。我们杺选择合适的核以平滑图像再加上其它图像处理技术以达到想要的效果。 如下文字处理的例子我们可以利用D020D_020D0​20来平滑图像再经过阈值处理可以得到文字的蒙板。 # 高斯低通滤波器在印刷和出版业的应用 img_ori cv2.imread(DIP_Figures/DIP3E_Original_Images_CH04/Fig0419(a)(text_gaps_of_1_and_2_pixels).tif, -1)radius [10, 30, 60, 90, 120]fig plt.figure(figsize(17, 10)) for i in range(len(radius)1):ax fig.add_subplot(2, 3, i1)if i 0:ax.imshow(img_ori, gray), ax.set_title(Original), ax.set_xticks([]), ax.set_yticks([])else:img glpf_test(img_ori, modereflect, radiusradius[i-1])ax.imshow(img, gray), ax.set_title(radius str(radius[i-1])), ax.set_xticks([]), ax.set_yticks([]) plt.tight_layout() plt.show()# 高斯低通滤波器在印刷和出版业的应用 img_ori cv2.imread(DIP_Figures/DIP3E_Original_Images_CH04/Fig0419(a)(text_gaps_of_1_and_2_pixels).tif, -1)radius [10, 30, 60, 90, 120]fig plt.figure(figsize(17, 10)) ax fig.add_subplot(1, 3, 1) ax.imshow(img_ori, gray), ax.set_title(Original), ax.set_xticks([]), ax.set_yticks([]) ax fig.add_subplot(1, 3, 2) img glpf_test(img_ori, modereflect, radius20) ax.imshow(img, gray), ax.set_title(radius str(20)), ax.set_xticks([]), ax.set_yticks([]) ax fig.add_subplot(1, 3, 3) ret, img_thred cv2.threshold(img, 0, 255, cv2.THRESH_OTSU cv2.THRESH_BINARY_INV) ax.imshow(img_thred, gray), ax.set_title(Thred), ax.set_xticks([]), ax.set_yticks([]) plt.tight_layout() plt.show()# 高斯低通滤波器在印刷和出版业的应用平滑后的图像看上去更柔和、更美观 img_ori cv2.imread(DIP_Figures/DIP3E_Original_Images_CH04/Fig0427(a)(woman).tif, -1)radius [10, 50, 80, 130, 150]fig plt.figure(figsize(17, 10)) for i in range(len(radius)1):ax fig.add_subplot(2, 3, i1)if i 0:ax.imshow(img_ori, gray), ax.set_title(Original), ax.set_xticks([]), ax.set_yticks([])else:img glpf_test(img_ori, modereflect, radiusradius[i-1])ax.imshow(img, gray), ax.set_title(radius str(radius[i-1])), ax.set_xticks([]), ax.set_yticks([]) plt.tight_layout() plt.show()# 高斯低通滤波器在卫星图像的应用这里对图像的滤波的目的是尺可能模糊更多的细节而保留可识别的大特征。 img_ori cv2.imread(DIP_Figures/DIP3E_Original_Images_CH04/Fig0451(a)(satellite_original).tif, -1)radius [10, 20, 50, 80, 100]fig plt.figure(figsize(17, 10)) for i in range(len(radius)1):ax fig.add_subplot(2, 3, i1)if i 0:ax.imshow(img_ori, gray), ax.set_title(Original), ax.set_xticks([]), ax.set_yticks([])else:img glpf_test(img_ori, modereflect, radiusradius[i-1])ax.imshow(img, gray), ax.set_title(radius str(radius[i-1])), ax.set_xticks([]), ax.set_yticks([]) plt.tight_layout() plt.show()
http://wiki.neutronadmin.com/news/68191/

相关文章:

  • 普通网站备案网站建设需要学编程吗
  • 工程建设管理网站网站建设报价
  • seo建站做网站建设销售工资高吗
  • iis网站服务器安全隐患分析大连百度推广排名优化
  • 番禺网站排名推广优化排名百度网站电话是多少
  • 红花岗区建设局网站网站内部建设和程序
  • 需要服务器的网站seo网站关键词排名快速
  • 黄埔网站建设 信科网络做网站团队的人员安排
  • 聚美优品的电子商务网站建设论文页面设计美观的作用
  • 寮步网站仿做重庆旅游
  • 奢侈品网站怎么做tuig优化专业行业网站建设
  • 杭州专业网站石家庄手机网站
  • 外贸网站推广几个月后都没有效果刚察县公司网站建设
  • 南通网站排名服务北京百度快速排名
  • 广州市增城区建设局网站关于医疗保障局门户网站建设
  • 风车网站做花盆磨具网络规划设计师适合干什么
  • 徐家汇做网站wap网站建设课程要写代码吗
  • 开发网站找什么公司吗广州天河区景点
  • 用html5做京东网站代码自己做众筹网站
  • 基础建设审计网站营销型企业网站分
  • 编程网站编程做相册本哪个网站好用吗
  • 企业网站上海 优帮云dedecms 网站地图模板
  • 网站建设工单系统护语室内设计案例分析图文
  • 商城网站静态模板下载html业务网站源码
  • 网上建设银行网站首页wordpress 采集 json
  • 网站有哪些元素组成网站建设如何设计数据库
  • 如果在阿里云上做自己的网站ppt如何做链接打开一个网站
  • 购物网站模板带后台广州建网站哪家好
  • 律师做网站推广有用吗wordpress 相关产品
  • 佳木斯做网站中国建筑今天最新消息