欢迎访问 生活随笔!

生活随笔

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

编程问答

MATLAB谐波均值滤波

发布时间:2023/12/31 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 MATLAB谐波均值滤波 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

% 谐波均值滤波
clc,clear,close all % 清理命令区、清理工作区、关闭显示图形
warning off % 消除警告
feature jit off % 加速代码运行
im = imread(‘brain.bmp’); % 原图像
im = imnoise(im,‘gaussian’,0,1e-3); % 原图像 + 白噪声

im1 = harmonymean_filter(im,3,3); % 应用谐波均值滤波
figure(‘color’,[1,1,1])
subplot(121),imshow(im,[]),title(‘original image’)
colormap(jet) % 颜色
shading interp % 消隐
subplot(122),imshow(im1,[]),title(‘谐波均值滤波’)
colormap(jet) % 颜色
shading interp % 消隐

function z = harmonymean_filter(x,m,n)
% 谐波均值滤波
% 函数输入:
% x:输入二维图像矩阵
% m,n:滤波掩膜尺寸
% 函数输出:
% z:输出图像矩阵,数据类型与输人相同
if ~isa(x,‘double’)
x = double(x)/255;
end

z = m*n./imfilter(1./(x+eps),ones(m,n),‘replicate’); % 谐波均值滤波
z = im2uint8(z); % 类型转换

end

总结

以上是生活随笔为你收集整理的MATLAB谐波均值滤波的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。