数字图像处理均值滤波matlab函数_均值滤波怎么计算

数字图像处理均值滤波matlab函数_均值滤波怎么计算图像的平滑、锐化都是利用掩模操作来完成的。通过掩模操作实现一种邻域运算,待处理像素点的结果由邻域的图像像素以及相应的与邻域有相同维数的子图像得到。这些子图像被称为滤波器、掩模、核、模板或窗口;掩模运算的数学含义是卷积(或互相关)运算;掩模子图像中的值是系数值,而不是灰度值;……

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

图像的平滑、锐化都是利用掩模操作来完成的。通过掩模操作实现一种邻域运算,待处理像素点的结果由邻域的图像像素以及相应的与邻域有相同维数的子图像得到。这些子图像被称为滤波器、掩模、核、模板或窗口;
掩模运算的数学含义是卷积(或互相关)运算;
掩模子图像中的值是系数值,而不是灰度值;
卷积示例图:
示例
一般来说,在MN的图像f(x,y)上,用mn大小的滤波器掩模进行线性滤波由下式给出:
公式
模板为1*5的中值滤波和均值滤波的对比:
在这里插入图片描述

均值滤波

简单来说就是对某个区域内的像素值取平均值代替原像素值
常用的3*3的滤波器掩模为:
在这里插入图片描述
3*3
一幅M×N的图像经过m×n的加权均值滤波器滤波的过程可由下式给出:

在这里插入图片描述
一般选取n*n的模板,便于运算,下面给出示例代码:

img = imread('');

[M , N] = size(img);%图片尺寸
img_result = zeros(M, N);%预生成,提高速度

muban_size = 3;%模板尺寸
expand_size = floor(muban_size / 2);%扩展尺寸
muban = 1 / (muban_size * muban_size) .* ones(muban_size, muban_size);


expand_img = double(wextend('2D','zpd', img, expand_size));%扩展0,转double为了矩阵运算

for i=1:M
    for j=1:N
        ave = sum( sum( expand_img(i:i+muban_size-1,j:j+muban_size-1) .* muban)); %取出扩展元素与模板相乘,并求矩阵元素之和
        img_result(i,j) = ave;
    end
end

img_result = uint8(img_result);%转int8,图像
subplot(1 ,2, 1);
title('原图像')
imshow(img)
subplot(1 ,2, 2);
imshow(img_result)
da = ['模板大小为' num2str(muban_size) ',变化后的图像'];
title(da)

Jetbrains全家桶1年46,售后保障稳定

结果示例:
示例
可见均值滤波对于噪声有一定的抑制作用,但是会出现部分的涂抹感。

中值滤波

中值滤波和均值滤波不同的地方是,中值滤波是对图像的像素值进行排序,取中间的像素值赋给新的图像。
主要功能:使拥有不同灰度的点看起来更接近于它的邻近值。
主要用途:去除“椒盐”噪声

示例代码:

img = imread('');

[M , N] = size(img);%图片尺寸
img_result = zeros(M, N);%预生成,提高速度

muban_size = 3;%模板尺寸
expand_size = floor(muban_size / 2);%扩展尺寸
muban = ones(muban_size, muban_size);


expand_img = double(wextend('2D','zpd', img, expand_size));%扩展0,转double为了矩阵运算

for i=1:M
    for j=1:N
        mat = expand_img(i:i+muban_size-1,j:j+muban_size-1) .* muban; %取出x1中从(i,j)开始的n行n列元素与模板相乘
        mat = mat(:);%转数组
        mat = sort(mat);%排序
        if mod(muban_size, 2)==1
            img_result(i,j) = mat(floor(muban_size*muban_size/2)+1);%取中间
        else
            img_result(i,j) = (mat(muban_size*muban_size/2) + mat(muban_size*muban_size/2+1))/2;
        end
    end
end

img_result = uint8(img_result);%转int8,图像
subplot(1 ,2, 1);
title('原图像')
imshow(img)
subplot(1 ,2, 2);
imshow(img_result)
da = ['模板大小为' num2str(muban_size) ',变化后的图像'];
title(da)

结果示例:
示例
效果好像特别好。

一些其他的中值滤波器:

模板
另:
中值滤波的窗口形状和尺寸对滤波效果影响较大,不同的图像内容和不同的应用要求,往往采用不同的窗口形状和尺寸。常用的二维中值滤波窗口有线状、方形、圆形、十字形以及圆环形等。
窗口尺寸一般先用3X3,再取5X 5逐渐增大,直到滤波效果满意为止。就经验来讲,对于有缓变的较长轮廓线物体的图像,采用方形或圆形窗口为宜。对于包含有尖顶物体的图像,用十字形窗口,而窗口大小则以不超过图像中最小有效物体的尺寸为宜。如果图像中点、线、尖角细节较多,则不宜采用中值滤波

最后,点个赞?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213499.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月21日 下午10:43
下一篇 2025年7月21日 下午11:22


相关推荐

  • nvm的简介、安装、使用(简单明了)

    nvm的简介、安装、使用(简单明了)一 nvm 是什么 nvm 是一个 node 的版本管理工具 可以简单操作 node 版本的切换 安装 查看 等等 与 npm 不同的是 npm 是依赖包的管理工具 二 nvm 的安装 1

    2026年3月19日
    1
  • CTF-培根密码

    CTF-培根密码CTF 学习上的一些疑点和解疑主题 培根密码的随意性反正我是觉得挺离谱的序章 CTF 学习上的一些疑点和解疑前言 培根小贴士一 培根密码是什么 二 解答 1 题目 2 解密顺序总结还没听懂的我给大家展现一些例子 前言 培根小贴士培根密码是一个随意性很高的密码 初学的时候不仅让人疑惑而且会感到奇奇怪怪 至少我是这样的 一 培根密码是什么 相信来到这里的人应该都有稍微的了解过这个培根密码 但是为了让像我一样懒的人方便我就放一下培根密码的两种方式二 解答 1 题目这个呢就是我在实训遇到的题目了

    2026年3月18日
    1
  • 主流自动化运维工具支持的功能(运维自动化工具排行)

    主流的自动化运维工具有3种:Puppet、Saltstack和Ansible,用的最多的还是Ansible。Puppet:官网:www.puppetlabs.com,基于rubby开发,C/S架构,支持多平台,可管理配置文件、用户、cron任务、软件包、系统服务等。分为社区版(免费)和企业版(收费),企业版支持图形化配置。Saltstack:官网:https://saltsta…

    2022年4月13日
    50
  • mysql 查看函数fsync_fsync()函数 Unix/Linux「建议收藏」

    mysql 查看函数fsync_fsync()函数 Unix/Linux「建议收藏」fsync,fdatasync-同步文件在内核态与存储设备内容简介#includeintfsync(intfd);intfdatasync(intfd);描述fsync()transfers(“flushes”)allmodifiedin-coredataof(i.e.,modifiedbuffercachepagesfor)thefilereferre…

    2022年5月18日
    50
  • phpstorm 2021.11.3 激活码(JetBrains全家桶)[通俗易懂]

    (phpstorm 2021.11.3 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月30日
    55
  • IIS防盗链技术

    IIS防盗链技术 “盗链”的定义是:此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。  为什么会产生盗链  一般浏览有一个重要的现象就是一个完整的页面并不是一次全部传送到客户

    2022年7月23日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号