数字图像处理|Matlab-频域增强实验-彩色图像的频域滤波器-自行选择一种频域的高通滤波器对彩色图像进行滤波操作
程序员文章站
2022-05-21 13:48:47
...
Matlab-频域增强实验-彩色图像的频域滤波器
代码链接:https://download.csdn.net/download/qq_43571150/12033263
问题
自行选择一种频域的高通滤波器对彩色图像进行滤波操作, 取3组不同的参数进行实验,根据实验效果进行参数的比较分析。
结果图像????
巴特沃兹高通滤波代码????
clc;
clear all;
close all;
J=imread('05.jpg');
if size(J, 3)==3
J = rgb2gray(J);
end
subplot(3,3,1);imshow(uint8(J));xlabel('input');
J=double(J);
f=fft2(J); %采用傅里叶变换
g=fftshift(f); %数据矩阵平衡
[M,N]=size(f);
n1=floor(M/2);
n2=floor(N/2);
n=2;
d1=5;%截止频率
for i=1:M %进行巴特沃兹高通滤波和巴特沃兹高通加强滤波
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
if d==0
h1=0;
h2=0.5;
else
h1=1/(1+(d1/d)^(2*n));
h2=1/(1+(d1/d)^(2*n))+0.5;
end
gg1(i,j)=h1*g(i,j);
gg2(i,j)=h2*g(i,j);
end
end
gg1=ifftshift(gg1);
gg1=uint8(real(ifft2(gg1)));
subplot(3,3,2);imshow(gg1); %显示巴特沃兹高通滤波
xlabel('巴特沃兹高通滤波 5');
imwrite(gg1,'05 巴特沃兹高通滤波 5.jpg');
gg2=ifftshift(gg2);
gg2=uint8(real(ifft2(gg2)));
subplot(3,3,3);imshow(gg2); %显示巴特沃兹高通加强滤波
xlabel('巴特沃兹高通加强滤波 5');
imwrite(gg2,'05 巴特沃兹高通加强滤波 5.jpg');
d3=50;%截止频率
for i=1:M %进行巴特沃兹高通滤波和巴特沃兹高通加强滤波
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
if d==0
h5=0;
h6=0.5;
else
h5=1/(1+(d3/d)^(2*n));
h6=1/(1+(d3/d)^(2*n))+0.5;
end
gg5(i,j)=h5*g(i,j);
gg6(i,j)=h6*g(i,j);
end
end
gg5=ifftshift(gg5);
gg5=uint8(real(ifft2(gg5)));
subplot(3,3,5);imshow(gg5); %显示巴特沃兹高通滤波
xlabel('巴特沃兹高通滤波 50');
imwrite(gg5,'05 巴特沃兹高通滤波 50.jpg');
gg6=ifftshift(gg6);
gg6=uint8(real(ifft2(gg6)));
subplot(3,3,6);imshow(gg6); %显示巴特沃兹高通加强滤波
xlabel('巴特沃兹高通加强滤波 50');
imwrite(gg6,'05 巴特沃兹高通加强滤波 50.jpg');
d5=250;%截止频率
for i=1:M %进行巴特沃兹高通滤波和巴特沃兹高通加强滤波
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
if d==0
h7=0;
h8=0.5;
else
h9=1/(1+(d5/d)^(2*n));
h10=1/(1+(d5/d)^(2*n))+0.5;
end
gg9(i,j)=h9*g(i,j);
gg10(i,j)=h10*g(i,j);
end
end
gg9=ifftshift(gg9);
gg9=uint8(real(ifft2(gg9)));
subplot(3,3,8);imshow(gg9); %显示巴特沃兹高通滤波
xlabel('巴特沃兹高通滤波 250');
imwrite(gg9,'05 巴特沃兹高通滤波 250.jpg');
gg10=ifftshift(gg10);
gg10=uint8(real(ifft2(gg10)));
subplot(3,3,9);imshow(gg10); %显示巴特沃兹高通加强滤波
xlabel('巴特沃兹高通加强滤波 250');
imwrite(gg10,'05 巴特沃兹高通加强滤波 250.jpg');
上一篇: Vue源码学习笔记之实现双向数据绑定(一)--- 发布订阅模式
下一篇: Redis发布订阅模式浅析