%% Bilateral双边滤波器
clc,clear,close all % 清理命令区、清理工作区、关闭显示图形
warning off % 消除警告
feature jit off % 加速代码运行
[filename ,pathname]=…
uigetfile({‘.bmp’;'.tif’;‘*.jpg’;},‘选择图片’); %选择图片路径
str=[pathname filename]; % 合成路径+文件名
im = imread(str); % 读图
im = imnoise(im,‘gaussian’,0,1e-3); % 原图像 + 白噪声
figure,
subplot(121),imshow(im);title(‘原始图像’)
colormap(jet) % 颜色
shading interp % 消隐
[im1, PSNR] = bif_filter(im,3,0.2);
subplot(122),imshow(im1);title(‘双边滤波图像’)
colormap(jet) % 颜色
shading interp % 消隐
function [out, psn]=bif_filter(im,sigd,sigr)
% bilateral filter双边滤波器
% 函数输入:
% im 输入的图像
% sigd 空间内核的时域参数
% sigr 内核参数强度变化范围
% 函数输出:
% out 滤波图像 = output imagespatial kernel
w=(2<