1 实验一
1.1 实验题目
采用理想滤波器对任意灰度图像进行滤波。
1.2 程序源代码
%理想低通
I = imread('photo.jpg');%读取图像
I=rgb2gray(I);%将图像转换为灰度图像
figure(1);
subplot(121),imshow(I);
title('原图像');
%图像傅里叶变换取对数所得频谱
s=fftshift(fft2(I));% 二维傅里叶变换并将零频分量移到频谱中心
[a,b]=size(s);%获得图像的高度和宽度
%图像中心点
a0=round(a/2);
b0=round(b/2);
d=50;%定义截断频率为 50
for i=1:a
for j=1:b
% 将低通滤波器中高于截止频率的频率变为 0,抵御或等于截止频率的频率变为 1
distance=sqrt((i-a0)^2+(j-b0)^2);
if distance<=d
h=1;
else
h=0;
end
s(i,j)=h*s(i,j);
end
end
s=uint8(real(ifft2(ifftshift(s))));% 进行逆零频平移和傅里叶逆变换并转换成实数,且将 double 转成 uint8
subplot(122),imshow(s);
title('理想低通滤波所得图像');
2 实验二
2.1 实验题目
使用双边滤波对彩色图像进行图像增强,并分析关键参数的影响。(给出关键步骤的输入输出数据大小)
2.2 程序源代码
% 彩色图的双边滤波
clc;
clear;
src=imread('timu2.jpg'); %加载彩色图
%-------双边滤波 参数 -----------------
r = 20; %半径 窗口 长 = 宽 = 2*r+1
sigma_space = 15.0; %空间标准差
sigma_color = 10.0; %相似标准差
w_space = zeros(1,r+1); %空间权重
for i = 1:r+1 %i 为横坐标之差的绝对值 + 1
for j = 1:r+1 %j 为纵坐标之差的绝对值 + 1
w_space(i,j) = exp(-double((i-1)^2 + (j-1)^2) / (2 * sigma_space^2));
end
end
w_color = zeros(1,256); %相似权重
for i = 1:256 %i 为像素值之差的绝对值 + 1
w_color(i) = exp(-double((i-1)^2) / (2 * sigma_color^2));
end
%--------- 进行滤波 ------------------
src=double(src);
[height,width,channel] = size(src);
if channel ~= 3 %判断是否为 3 通道彩色图,不是则退出函数
end
dst = src;
for h = 1+r:height-r
for w = 1+r:width-r %窗口中心
for c = 1:channel %彩色图 三通道
w_sum = 0; %权值和
p_sum = 0; %权值未归一化与像素值的乘积和
p_c = src(h,w,c); %中心像素点的值
for j = h-r:h+r
for i = w-r:w+r %遍历窗口内的像素
p_t = src(j,i,c); %像素点的值 以及未归一化的
权值
w_tmp = w_space(abs(i-w)+1,abs(j-h)+1) *
w_color(abs(p_c-p_t)+1);
p_sum = p_sum + p_t * w_tmp; %权值未归一化与像素值的乘积和
w_sum = w_sum + w_tmp; %权值和
end
end
p_sum = p_sum / w_sum; %归一化
dst(h,w,c) = p_sum; %赋值
end
end
end
%转换格式显示
src = uint8(src);
dst = uint8(dst);
subplot(121),imshow(src);
title('原图像');
subplot(122),imshow(dst);
title('双边滤波后的图像');
2.3 关键参数分析
双边滤波是一种常用的图像滤波方法,它可以在保持边缘信息的同时对图像进行平滑处理。双边滤波的关键参数包括半径、空间权重和灰度权重,它们对滤波效果有着重要的影响。
半径:半径决定了双边滤波的范围,也就是在多大的邻域内进行滤波。较小的半径会导致只有邻近像素对当前像素有影响,滤波效果较弱;而较大的半径会考虑更多的像素,滤波效果更加明显。但是过大的半径可能会导致边缘信息模糊。
空间权重:空间权重用于衡量像素之间的空间距离,它决定了邻域内像素对当前像素的影响程度。较大的空间权重会使得距离较远的像素对当前像素的影响减小,从而保持边缘信息。而较小的空间权重会使得距离较远的像素对当前像素的影响增大,从而平滑整个图像。
灰度权重:灰度权重用于衡量像素之间的灰度差异,它决定了邻域内像素对当前像素的影响程度。较大的灰度权重会使得灰度差异较大的像素对当前像素的影响减小,从而保持边缘信息。而较小的灰度权重会使得灰度差异较大的像素对当前像素的影响增大,从而平滑整个图像。
双边滤波与理想滤波图像增强

被折叠的 条评论
为什么被折叠?



