图像处理(2)- 空间滤波
图像空间滤波
- 图像的空间滤波
- 均值滤波
- 中值滤波
- MATLAB程序
- 运行结果
图像的空间滤波
空间域是指图像平面本身、包含图像像素的平面。空间域图像处理是指直接对图像中的像素进行操作。
线性空间滤波器也称为模板、卷积模板、卷积核。
均值滤波
均值滤波器,也称为线性平滑滤波器,其输出是包含在滤波器模板邻域内的像素灰度的平均值。可用于(1)降低噪声;(2)伪轮廓效应的平滑处理;(3)去除图像中的不相关细节。
中值滤波
中值滤波器对处理脉冲噪声(椒盐噪声)非常有效,但是对一些细节多,特别是点、线、尖顶的图像不宜采用中值滤波。
MATLAB程序
MATLAB程序演示了对于含有椒盐噪声的图像,进行中值滤波和均值滤波处理。
clc
clear
close allpicture=imread('test.jpg');% 读取原始图像的R、G、B值
picture_r=picture(:,:,1);
picture_g=picture(:,:,2);
picture_b=picture(:,:,3);[M,N,C]=size(picture);figure;
imshow(picture);
title('原始图像');%% 加椒盐噪声
Noise_picture=imnoise(picture,'salt & pepper',0.1);% 噪声密度0.1Noise_picture_r=Noise_picture(:,:,1);
Noise_picture_g=Noise_picture(:,:,2);
Noise_picture_b=Noise_picture(:,:,3);figure;
imshow(Noise_picture);
title('加椒盐噪声');%% 中值滤波
Mid_Filtered_picture=uint8(zeros(M,N,C));pixel=zeros(1,9);
for k=1:3 % RGB三通道for i=1:Mfor j=1:Nif(i>1 && i<M && j>1 && j<N) % 中间部分pixel(1:3) = Noise_picture(i-1:i+1, j-1, k);pixel(4:6) = Noise_picture(i-1:i+1, j , k);pixel(7:9) = Noise_picture(i-1:i+1, j+1, k);pixel=sort(pixel);Mid_Filtered_picture(i,j,k)=pixel(5);elseif(i==1 && j>1 && j<N) % 第一行中间部分pixel(1:2) = Noise_picture(i:i+1, j-1, k);pixel(3:4) = Noise_picture(i:i+1, j , k);pixel(5:6) = Noise_picture(i:i+1, j+1, k);pixel=sort(pixel(1:5));Mid_Filtered_picture(i,j,k)=pixel(3);elseif(i==M && j>1 && j<N) % 最后一行中间部分pixel(1:2) = Noise_picture(i-1:i, j-1, k);pixel(3:4) = Noise_picture(i-1:i, j , k);pixel(5:6) = Noise_picture(i-1:i, j+1, k);pixel=sort(pixel(1:5));Mid_Filtered_picture(i,j,k)=pixel(3);elseif(j==1 && i>1 && i<M) % 第一列中间部分pixel(1:3) = Noise_picture(i-1:i+1, j , k);pixel(4:6) = Noise_picture(i-1:i+1, j+1, k);pixel=sort(pixel(1:5));Mid_Filtered_picture(i,j,k)=pixel(3);elseif(j==N && i>1 && i<M) % 最后一列中间部分pixel(1:3) = Noise_picture(i-1:i+1, j-1, k);pixel(4:6) = Noise_picture(i-1:i+1, j , k);pixel=sort(pixel(1:5));Mid_Filtered_picture(i,j,k)=pixel(3);elseif(i==1 && j==1) % 左上角pixel(1:2) = Noise_picture(i:i+1, j , k);pixel(3:4) = Noise_picture(i:i+1, j+1, k);pixel=sort(pixel(1:4));Mid_Filtered_picture(i,j,k)=pixel(2);elseif(i==1 && j==N) % 右上角pixel(1:2) = Noise_picture(i:i+1, j-1, k);pixel(3:4) = Noise_picture(i:i+1, j , k);pixel=sort(pixel(1:4));Mid_Filtered_picture(i,j,k)=pixel(2);elseif(i==M && j==N) % 右下角pixel(1:2) = Noise_picture(i-1:i, j-1, k);pixel(3:4) = Noise_picture(i-1:i, j , k);pixel=sort(pixel(1:4));Mid_Filtered_picture(i,j,k)=pixel(2);elseif(i==M && j==1) % 左下角pixel(1:2) = Noise_picture(i-1:i, j , k);pixel(3:4) = Noise_picture(i-1:i, j+1, k);pixel=sort(pixel(1:4));Mid_Filtered_picture(i,j,k)=pixel(2);endendend
endfigure;
imshow(Mid_Filtered_picture);
title('中值滤波');%% 均值滤波
Average_Filtered_picture=uint8(zeros(M,N,C));pixel=zeros(1,9);
mean_amp=0;
for k=1:3 % RGB三通道for i=1:Mfor j=1:Nif(i>1 && i<M && j>1 && j<N) % 中间部分pixel(1:3) = Noise_picture(i-1:i+1, j-1, k);pixel(4:6) = Noise_picture(i-1:i+1, j , k);pixel(7:9) = Noise_picture(i-1:i+1, j+1, k);mean_amp=mean(pixel);Average_Filtered_picture(i,j,k)=mean_amp;elseif(i==1 && j>1 && j<N) % 第一行中间部分pixel(1:2) = Noise_picture(i:i+1, j-1, k);pixel(3:4) = Noise_picture(i:i+1, j , k);pixel(5:6) = Noise_picture(i:i+1, j+1, k);mean_amp=mean(pixel(1:5));Average_Filtered_picture(i,j,k)=mean_amp;elseif(i==M && j>1 && j<N) % 最后一行中间部分pixel(1:2) = Noise_picture(i-1:i, j-1, k);pixel(3:4) = Noise_picture(i-1:i, j , k);pixel(5:6) = Noise_picture(i-1:i, j+1, k);mean_amp=mean(pixel(1:5));Average_Filtered_picture(i,j,k)=mean_amp;elseif(j==1 && i>1 && i<M) % 第一列中间部分pixel(1:3) = Noise_picture(i-1:i+1, j , k);pixel(4:6) = Noise_picture(i-1:i+1, j+1, k);mean_amp=mean(pixel(1:5));Average_Filtered_picture(i,j,k)=mean_amp;elseif(j==N && i>1 && i<M) % 最后一列中间部分pixel(1:3) = Noise_picture(i-1:i+1, j-1, k);pixel(4:6) = Noise_picture(i-1:i+1, j , k);mean_amp=mean(pixel(1:5));Average_Filtered_picture(i,j,k)=mean_amp;elseif(i==1 && j==1) % 左上角pixel(1:2) = Noise_picture(i:i+1, j , k);pixel(3:4) = Noise_picture(i:i+1, j+1, k);mean_amp=mean(pixel(1:4));Average_Filtered_picture(i,j,k)=mean_amp;elseif(i==1 && j==N) % 右上角pixel(1:2) = Noise_picture(i:i+1, j-1, k);pixel(3:4) = Noise_picture(i:i+1, j , k);mean_amp=mean(pixel(1:4));Average_Filtered_picture(i,j,k)=mean_amp;elseif(i==M && j==N) % 右下角pixel(1:2) = Noise_picture(i-1:i, j-1, k);pixel(3:4) = Noise_picture(i-1:i, j , k);mean_amp=mean(pixel(1:4));Average_Filtered_picture(i,j,k)=mean_amp;elseif(i==M && j==1) % 左下角pixel(1:2) = Noise_picture(i-1:i, j , k);pixel(3:4) = Noise_picture(i-1:i, j+1, k);mean_amp=mean(pixel(1:4));Average_Filtered_picture(i,j,k)=mean_amp;endendend
endfigure;
imshow(Average_Filtered_picture);
title('均值滤波');
运行结果
图像处理(2)- 空间滤波相关推荐
- 图像处理之空间滤波二: 平滑滤波器
图像处理之空间滤波二: 平滑滤波器 平滑滤波器 平滑滤波器用于模糊处理和降低噪声. 常应用于预处理任务中, 例如在大目标提取之前去除图像中的一些琐碎细节, 以及桥接直线或曲线的缝隙, 通过线性滤波 ...
- 《数字图像处理》空间滤波学习感悟2:空间相关与卷积的概念、区别及联系
一.引言 在图像处理以及人工智能中,"卷积"一词是非常重要的概念,也是初学者难以理解的地方.在<数字图像处理:理解什么是卷积(滤波).卷积核以及相关参考资料>老猿结合相 ...
- 【图像处理】空间滤波、中值滤波(Spatial Filtering and Median Filtering)
实验要求 编写一个能够完成两幅图像之间加.减.乘.除四种算术运算的函数.另外,对于两幅图像的乘法,所编写的乘法程序还要能够完成一幅图像乘以一个常数的功能.使用图Fig1.10(4)和Fig1.10 ...
- 【数字图像处理】空间滤波
空间滤波 基础 平滑处理 平滑线性空间滤波器 盒状态滤波 高斯平滑滤波 统计排序滤波器 锐化处理 一阶微分算子 罗伯特 索贝尔 二阶微分算子 拉普拉斯算子 混合空间增强 学习笔记,防止自己忘记. sk ...
- 数字图像处理基础知识之二
空域增强技术: 基础知识1: 定义二维函数f(x,y),其中x,y是空间坐标,f(x,y)是点(x,y)的幅值. 灰度图像是一个二维灰度(亮度)函数f(x,y):彩色图片是由三个二维灰度函数f(x,y ...
- 数字图像处理:理解什么是卷积(滤波)、卷积核以及相关参考资料
☞ ░ 前往老猿Python博文目录 ░ 一.概述 在图像处理领域,滤波.卷积都是相同的含义,都是一种图像的卷积操作,与此相对应通过卷积处理图像时,需要使用一个用于计算图像像素的参考矩阵,这个矩阵称为 ...
- 音视频技术开发周刊 69期
『音视频技术开发周刊』由LiveVideoStack团队出品,专注在音视频技术领域,纵览相关技术领域的干货和新闻投稿,每周一期.点击『阅读原文』,浏览第69期内容,祝您阅读愉快. 架构 BBR如何让S ...
- OpenCV-Python 图像平滑处理1:卷积函数filter2D详解及用于均值滤波的案例
一.图像平滑处理简介 图像平滑处理属于图像空间滤波的一种,用于模糊处理和降低噪声.模糊处理经常用于图像预处理任务中,例如在(大)目标提取之前去除图像中的一些琐碎细节,以及桥接直线或曲线的缝隙.模糊处理 ...
- OpenCV-Python 图像平滑处理2:blur函数及滤波案例
一.图像平滑处理简介 图像平滑处理的基本概念非常直观,它使用滤波器模板确定的邻域内像素的平均/加权平均灰度值代替图像中每个像素的值.平滑线处理滤波器也称均值滤波器,所有系数都相等(非加权平均)的空间均 ...
- 数字图像处理——第三章 空间域图像增强(空间滤波)
文章目录 1. 空间滤波基础 2. 线性滤波器 2.1 平滑空间滤波器 2.2 锐化空间滤波器 2.2.1 基于一阶微分的图像增强--梯度法 2.2.2 基于二阶微分的图像增强--拉普拉斯算子 3. ...
最新文章
- RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比
- 综述|寻找自动驾驶中的关键场景
- Python 转义符
- 在RHEL5.0中用YUM解决RPM包的依赖关系
- dart和python混编,Flutter与iOS混编(一)
- 金九银十中,看看这31道Android面试题
- 扎克伯格做了26张PPT,员工效率提10倍,已被疯狂传阅!
- 步骤一:入门linux基础/01Linux简介和安装/003Linux系统的多面性
- 【2021牛客暑期多校训练营5】Jewels(建图,最小匹配权,KM乱搞)
- 记录一枚验证URL的js正则表达式
- mysql数据迁移性能_百万级MySQL的数据量,该如何快速的完成数据迁移?
- mac dmg包签名及公证
- 苹果App Store 四年历程回顾
- 使用HTML编写浣溪沙,浣溪沙_巅峰Hacker_新浪博客
- ensp搭建dhcp服务
- PostgreSQL中删除的数据能否恢复
- 【拜小白opencv】45-二维H-S直方图绘制----calcHist()函数、minMaxLoc()函数
- 在SpringMVC项目中使用HIkariCP
- 《Mysql是怎样运行的》读书笔记之B+树索引
- matlab jcitest,【期刊】JCI manuscript
热门文章
- [Win32] API Hook(2)在64位系统上的实现
- 新媒体运营面试必问5大问题(内附试题)
- java的注解跳过,java – 无法忽略lombok注释 – Sonarqube
- 影响个人职业前途的不良习惯
- 【编程题】【Scratch二级】2020.06 别碰红块
- ino查看工具android版,(组图)老牌 RSS 阅读器 Inoreader 安卓版 UI 改版了
- Spine动画加载优化思路 之 Spine动画加载问题
- 2018京东项目经理实习生面试经验
- 相对定位的新星——超宽带UWB的前世、今生和未来
- 糖果(SPFA、判负环)