日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab实现 理想低通、巴特沃斯低通、高斯低通、理想高通、巴特沃斯高通、高斯高通(d=10,50,150)

發(fā)布時間:2024/1/18 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab实现 理想低通、巴特沃斯低通、高斯低通、理想高通、巴特沃斯高通、高斯高通(d=10,50,150) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)字圖像處理第二次編程課后作業(yè)

理想低通(d=10,50,150):

close all; clear all;%% ---------Ideal Lowpass Filters (Fre. Domain)------------ f = imread('D:/testData/cameraman.tif'); f = mat2gray(f,[0 255]);[M,N] = size(f); P = 2*M; Q = 2*N; fc = zeros(M,N);for x = 1:1:Mfor y = 1:1:Nfc(x,y) = f(x,y) * (-1)^(x+y);end endF = fft2(fc,P,Q);H_0 = zeros(P,Q); H_1 = zeros(P,Q); H_2 = zeros(P,Q);for x = (-P/2):1:(P/2)-1for y = (-Q/2):1:(Q/2)-1D = (x^2 + y^2)^(0.5);if(D <= 10) H_0(x+(P/2)+1,y+(Q/2)+1) = 1; end if(D <= 50) H_1(x+(P/2)+1,y+(Q/2)+1) = 1; end if(D <= 150) H_2(x+(P/2)+1,y+(Q/2)+1) = 1; endend endG_0 = H_0 .* F; G_1 = H_1 .* F; G_2 = H_2 .* F;g_0 = real(ifft2(G_0)); g_0 = g_0(1:1:M,1:1:N);g_1 = real(ifft2(G_1)); g_1 = g_1(1:1:M,1:1:N);g_2 = real(ifft2(G_2)); g_2 = g_2(1:1:M,1:1:N); for x = 1:1:Mfor y = 1:1:Ng_0(x,y) = g_0(x,y) * (-1)^(x+y);g_1(x,y) = g_1(x,y) * (-1)^(x+y);g_2(x,y) = g_2(x,y) * (-1)^(x+y);end end%% -----show------- figure(); subplot(1,2,1); imshow(f,[0 1]); xlabel('1).原圖');subplot(1,2,2); imshow(log(1 + abs(F)),[ ]); xlabel('2).1圖的傅里葉光譜');figure(); subplot(1,2,1); imshow(H_0,[0 1]); xlabel('3).理想低通濾波(D=10)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_0(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_0)),[ ]); xlabel('4).3得到的濾波結(jié)果');subplot(1,2,2); imshow(g_0,[0 1]); xlabel('5).效果圖(D=10)');figure(); subplot(1,2,1); imshow(H_1,[0 1]); xlabel('6).理想低通濾波(D=50)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_1(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_1)),[ ]); xlabel('7).6得到的濾波結(jié)果');subplot(1,2,2); imshow(g_1,[0 1]); xlabel('8).效果圖(D=50)');figure(); subplot(1,2,1); imshow(H_2,[0 1]); xlabel('9).理想低通濾波(D=150)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_2(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_2)),[ ]); xlabel('10).9得到的濾波結(jié)果');subplot(1,2,2); imshow(g_2,[0 1]); xlabel('11).效果圖(D=150)');

巴特沃斯低通(d=10,50,150):

close all; clear all;%% ---------Butterworth Lowpass Filters (Fre. Domain)------------ f = imread('D:/testData/cameraman.tif'); f = mat2gray(f,[0 255]);[M,N] = size(f); P = 2*M; Q = 2*N; fc = zeros(M,N);for x = 1:1:Mfor y = 1:1:Nfc(x,y) = f(x,y) * (-1)^(x+y);end endF = fft2(fc,P,Q);H_0 = zeros(P,Q); H_1 = zeros(P,Q); H_2 = zeros(P,Q);for x = (-P/2):1:(P/2)-1for y = (-Q/2):1:(Q/2)-1D = (x^2 + y^2)^(0.5);%n=1D_0 = 10;H_0(x+(P/2)+1,y+(Q/2)+1) = 1/(1+(D/D_0)^2);D_0 = 50;H_1(x+(P/2)+1,y+(Q/2)+1) = 1/(1+(D/D_0)^2); D_0 = 150;H_2(x+(P/2)+1,y+(Q/2)+1) = 1/(1+(D/D_0)^2);%H_2(x+(P/2)+1,y+(Q/2)+1) = 1/(1+(D/D_0)^6);end endG_0 = H_0 .* F; G_1 = H_1 .* F; G_2 = H_2 .* F;g_0 = real(ifft2(G_0)); g_0 = g_0(1:1:M,1:1:N);g_1 = real(ifft2(G_1)); g_1 = g_1(1:1:M,1:1:N);g_2 = real(ifft2(G_2)); g_2 = g_2(1:1:M,1:1:N); for x = 1:1:Mfor y = 1:1:Ng_0(x,y) = g_0(x,y) * (-1)^(x+y);g_1(x,y) = g_1(x,y) * (-1)^(x+y);g_2(x,y) = g_2(x,y) * (-1)^(x+y);end end%% -----show------- figure(); subplot(1,2,1); imshow(f,[0 1]); xlabel('1).原圖');subplot(1,2,2); imshow(log(1 + abs(F)),[ ]); xlabel('2).1圖的傅里葉光譜');figure(); subplot(1,2,1); imshow(H_0,[0 1]); xlabel('3).巴特沃斯低通濾波(D=10)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_0(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_0)),[ ]); xlabel('4).3得到的濾波結(jié)果');subplot(1,2,2); imshow(g_0,[0 1]); xlabel('5).效果圖(D=10)');figure(); subplot(1,2,1); imshow(H_1,[0 1]); xlabel('6).巴特沃斯低通濾波(D=50)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_1(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_1)),[ ]); xlabel('7).6得到的濾波結(jié)果');subplot(1,2,2); imshow(g_1,[0 1]); xlabel('8).效果圖(D=50)');figure(); subplot(1,2,1); imshow(H_2,[0 1]); xlabel('9).巴特沃斯低通濾波(D=150)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_2(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_2)),[ ]); xlabel('10).9得到的濾波結(jié)果');subplot(1,2,2); imshow(g_2,[0 1]); xlabel('11).效果圖(D=150)');

高斯低通(d=10,50,150):

close all; clear all; clc; %% ---------Gaussian Lowpass Filters (Fre. Domain)------------ f = imread('D:/testData/cameraman.tif'); f = mat2gray(f,[0 255]);[M,N] = size(f); P = 2*M; Q = 2*N; fc = zeros(M,N);for x = 1:1:Mfor y = 1:1:Nfc(x,y) = f(x,y) * (-1)^(x+y);end endF = fft2(fc,P,Q);H_0 = zeros(P,Q); H_1 = zeros(P,Q); H_2 = zeros(P,Q);for x = (-P/2):1:(P/2)-1for y = (-Q/2):1:(Q/2)-1D = (x^2 + y^2)^(0.5);D_0 = 10;H_0(x+(P/2)+1,y+(Q/2)+1) = exp(-(D*D)/(2*D_0*D_0)); D_0 = 50;H_1(x+(P/2)+1,y+(Q/2)+1) = exp(-(D*D)/(2*D_0*D_0)); D_0 = 150;H_2(x+(P/2)+1,y+(Q/2)+1) = exp(-(D*D)/(2*D_0*D_0));end endG_0 = H_0 .* F; G_1 = H_1 .* F; G_2 = H_2 .* F;g_0 = real(ifft2(G_0)); g_0 = g_0(1:1:M,1:1:N);g_1 = real(ifft2(G_1)); g_1 = g_1(1:1:M,1:1:N);g_2 = real(ifft2(G_2)); g_2 = g_2(1:1:M,1:1:N); for x = 1:1:Mfor y = 1:1:Ng_0(x,y) = g_0(x,y) * (-1)^(x+y);g_1(x,y) = g_1(x,y) * (-1)^(x+y);g_2(x,y) = g_2(x,y) * (-1)^(x+y);end end%% -----show------- close all;figure(); subplot(1,2,1); imshow(f,[0 1]); xlabel('1).原圖');subplot(1,2,2); imshow(log(1 + abs(F)),[ ]); xlabel('2).1圖的傅里葉光譜');figure(); subplot(1,2,1); imshow(H_0,[0 1]); xlabel('3).高斯低通濾波(D=10)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_0(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_0)),[ ]); xlabel('4).3得到的濾波結(jié)果');subplot(1,2,2); imshow(g_0,[0 1]); xlabel('5).效果圖(D=10)');figure(); subplot(1,2,1); imshow(H_1,[0 1]); xlabel('6).高斯低通濾波(D=50)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_1(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_1)),[ ]); xlabel('7).6得到的濾波結(jié)果');subplot(1,2,2); imshow(g_1,[0 1]); xlabel('8).效果圖(D=50)');figure(); subplot(1,2,1); imshow(H_2,[0 1]); xlabel('9).高斯低通濾波(D=150)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_2(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_2)),[ ]); xlabel('10).9得到的濾波結(jié)果');subplot(1,2,2); imshow(g_2,[0 1]); xlabel('11).效果圖(D=150)');

理想高通(d=10,50,150):

close all; clear all;%% ---------Ideal Lowpass Filters (Fre. Domain)------------ f = imread('D:/testData/cameraman.tif'); f = mat2gray(f,[0 255]);[M,N] = size(f); P = 2*M; Q = 2*N; fc = zeros(M,N);for x = 1:1:Mfor y = 1:1:Nfc(x,y) = f(x,y) * (-1)^(x+y);end endF = fft2(fc,P,Q);H_0 = zeros(P,Q); H_1 = zeros(P,Q); H_2 = zeros(P,Q);for x = (-P/2):1:(P/2)-1for y = (-Q/2):1:(Q/2)-1D = (x^2 + y^2)^(0.5);if(D > 10) H_0(x+(P/2)+1,y+(Q/2)+1) = 1; end if(D > 50) H_1(x+(P/2)+1,y+(Q/2)+1) = 1; end if(D > 150) H_2(x+(P/2)+1,y+(Q/2)+1) = 1; endend endG_0 = H_0 .* F; G_1 = H_1 .* F; G_2 = H_2 .* F;g_0 = real(ifft2(G_0)); g_0 = g_0(1:1:M,1:1:N);g_1 = real(ifft2(G_1)); g_1 = g_1(1:1:M,1:1:N);g_2 = real(ifft2(G_2)); g_2 = g_2(1:1:M,1:1:N); for x = 1:1:Mfor y = 1:1:Ng_0(x,y) = g_0(x,y) * (-1)^(x+y);g_1(x,y) = g_1(x,y) * (-1)^(x+y);g_2(x,y) = g_2(x,y) * (-1)^(x+y);end end%% -----show------- figure(); subplot(1,2,1); imshow(f,[0 1]); xlabel('1).原圖');subplot(1,2,2); imshow(log(1 + abs(F)),[ ]); xlabel('2).1圖的傅里葉光譜');figure(); subplot(1,2,1); imshow(H_0,[0 1]); xlabel('3).理想高通濾波(D=10)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_0(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_0)),[ ]); xlabel('4).3得到的濾波結(jié)果');subplot(1,2,2); imshow(g_0,[0 1]); xlabel('5).效果圖(D=10)');figure(); subplot(1,2,1); imshow(H_1,[0 1]); xlabel('6).理想高通濾波(D=50)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_1(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_1)),[ ]); xlabel('7).6得到的濾波結(jié)果');subplot(1,2,2); imshow(g_1,[0 1]); xlabel('8).效果圖(D=50)');figure(); subplot(1,2,1); imshow(H_2,[0 1]); xlabel('9).理想高通濾波(D=150)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_2(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_2)),[ ]); xlabel('10).9得到的濾波結(jié)果');subplot(1,2,2); imshow(g_2,[0 1]); xlabel('11).效果圖(D=150)');

巴特沃斯高通(d=10,50,150):

close all; clear all;%% ---------Butterworth Lowpass Filters (Fre. Domain)------------ f = imread('D:/testData/cameraman.tif'); f = mat2gray(f,[0 255]);[M,N] = size(f); P = 2*M; Q = 2*N; fc = zeros(M,N);for x = 1:1:Mfor y = 1:1:Nfc(x,y) = f(x,y) * (-1)^(x+y);end endF = fft2(fc,P,Q);H_0 = zeros(P,Q); H_1 = zeros(P,Q); H_2 = zeros(P,Q);for x = (-P/2):1:(P/2)-1for y = (-Q/2):1:(Q/2)-1D = (x^2 + y^2)^(0.5);%n=1D_0 = 10;H_0(x+(P/2)+1,y+(Q/2)+1) = 1/(1+(D_0/D)^2);D_0 = 50;H_1(x+(P/2)+1,y+(Q/2)+1) = 1/(1+(D_0/D)^2); D_0 = 150;H_2(x+(P/2)+1,y+(Q/2)+1) = 1/(1+(D_0/D)^2);%H_2(x+(P/2)+1,y+(Q/2)+1) = 1/(1+(D/D_0)^6);end endG_0 = H_0 .* F; G_1 = H_1 .* F; G_2 = H_2 .* F;g_0 = real(ifft2(G_0)); g_0 = g_0(1:1:M,1:1:N);g_1 = real(ifft2(G_1)); g_1 = g_1(1:1:M,1:1:N);g_2 = real(ifft2(G_2)); g_2 = g_2(1:1:M,1:1:N); for x = 1:1:Mfor y = 1:1:Ng_0(x,y) = g_0(x,y) * (-1)^(x+y);g_1(x,y) = g_1(x,y) * (-1)^(x+y);g_2(x,y) = g_2(x,y) * (-1)^(x+y);end end%% -----show------- figure(); subplot(1,2,1); imshow(f,[0 1]); xlabel('1).原圖');subplot(1,2,2); imshow(log(1 + abs(F)),[ ]); xlabel('2).1圖的傅里葉光譜');figure(); subplot(1,2,1); imshow(H_0,[0 1]); xlabel('3).巴特沃斯高通濾波(D=10)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_0(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_0)),[ ]); xlabel('4).3得到的濾波結(jié)果');subplot(1,2,2); imshow(g_0,[0 1]); xlabel('5).效果圖(D=10)');figure(); subplot(1,2,1); imshow(H_1,[0 1]); xlabel('6).巴特沃斯高通濾波(D=50)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_1(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_1)),[ ]); xlabel('7).6得到的濾波結(jié)果');subplot(1,2,2); imshow(g_1,[0 1]); xlabel('8).效果圖(D=50)');figure(); subplot(1,2,1); imshow(H_2,[0 1]); xlabel('9).巴特沃斯高通濾波(D=150)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_2(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_2)),[ ]); xlabel('10).9得到的濾波結(jié)果');subplot(1,2,2); imshow(g_2,[0 1]); xlabel('11).效果圖(D=150)');

高斯高通(d=10,50,150):

close all; clear all; clc; %% ---------Gaussian Lowpass Filters (Fre. Domain)------------ f = imread('D:/testData/cameraman.tif'); f = mat2gray(f,[0 255]);[M,N] = size(f); P = 2*M; Q = 2*N; fc = zeros(M,N);for x = 1:1:Mfor y = 1:1:Nfc(x,y) = f(x,y) * (-1)^(x+y);end endF = fft2(fc,P,Q);H_0 = zeros(P,Q); H_1 = zeros(P,Q); H_2 = zeros(P,Q);for x = (-P/2):1:(P/2)-1for y = (-Q/2):1:(Q/2)-1D = (x^2 + y^2)^(0.5);D_0 = 10;H_0(x+(P/2)+1,y+(Q/2)+1) = 1 - exp(-(D*D)/(2*D_0*D_0)); D_0 = 50;H_1(x+(P/2)+1,y+(Q/2)+1) = 1 - exp(-(D*D)/(2*D_0*D_0)); D_0 = 150;H_2(x+(P/2)+1,y+(Q/2)+1) = 1 - exp(-(D*D)/(2*D_0*D_0));end endG_0 = H_0 .* F; G_1 = H_1 .* F; G_2 = H_2 .* F;g_0 = real(ifft2(G_0)); g_0 = g_0(1:1:M,1:1:N);g_1 = real(ifft2(G_1)); g_1 = g_1(1:1:M,1:1:N);g_2 = real(ifft2(G_2)); g_2 = g_2(1:1:M,1:1:N); for x = 1:1:Mfor y = 1:1:Ng_0(x,y) = g_0(x,y) * (-1)^(x+y);g_1(x,y) = g_1(x,y) * (-1)^(x+y);g_2(x,y) = g_2(x,y) * (-1)^(x+y);end end%% -----show------- close all;figure(); subplot(1,2,1); imshow(f,[0 1]); xlabel('1).原圖');subplot(1,2,2); imshow(log(1 + abs(F)),[ ]); xlabel('2).1圖的傅里葉光譜');figure(); subplot(1,2,1); imshow(H_0,[0 1]); xlabel('3).高斯高通濾波(D=10)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_0(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_0)),[ ]); xlabel('4).3得到的濾波結(jié)果');subplot(1,2,2); imshow(g_0,[0 1]); xlabel('5).效果圖(D=10)');figure(); subplot(1,2,1); imshow(H_1,[0 1]); xlabel('6).高斯高通濾波(D=50)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_1(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_1)),[ ]); xlabel('7).6得到的濾波結(jié)果');subplot(1,2,2); imshow(g_1,[0 1]); xlabel('8).效果圖(D=50)');figure(); subplot(1,2,1); imshow(H_2,[0 1]); xlabel('9).高斯高通濾波(D=150)');subplot(1,2,2); h = mesh(1:20:P,1:20:Q,H_2(1:20:P,1:20:Q)); set(h,'EdgeColor','k'); axis([0 P 0 Q 0 1]); xlabel('u');ylabel('v'); zlabel('|H(u,v)|');figure(); subplot(1,2,1); imshow(log(1 + abs(G_2)),[ ]); xlabel('10).9得到的濾波結(jié)果');subplot(1,2,2); imshow(g_2,[0 1]); xlabel('11).效果圖(D=150)');

總結(jié)

以上是生活随笔為你收集整理的Matlab实现 理想低通、巴特沃斯低通、高斯低通、理想高通、巴特沃斯高通、高斯高通(d=10,50,150)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。