图像在空域上的平滑处理
平滑处理(smoothing)
平滑处理(smoothing)也称模糊处理(bluring)。作用就是减少图像上的噪声或者失真。
图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。
平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。
空间域的平滑滤波一般采用均值滤波、中值滤波和加权平滑滤波进行处理。
均值滤波
3*3窗口的均值滤波如下图所示,点(x,y)的滤波值由其周围9个点(包括其自身)计算平均值得到。
上图中点(x,y)的滤波值用公式表示为:
中值滤波
概念:
中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。
例如:左图中大小为3*3的滤波器中9个数字进行升序(降序)排序,找出9个数字中的中值,再将中值赋于中间的像元。
加权平滑滤波(例:高斯滤波)
如下图为一个标准差为1.0的整数值高斯核。
高斯滤波的卷积运算
假设有一个卷积核h,就一般为3*3的矩阵:
有一个待处理矩阵x:
代码
%空域图像平滑处理img = imread('lenna.bmp');
figure;imshow(img);title('原图');img = imnoise(img, 'gaussian');
figure;subplot(2,2,1);imshow(img);title('gaussian原图');
[ROW, COL] = size(img);
img1 = double(img);
k = 3;%模板大小%均值滤波
img_meanFilter = img1;
model = ones(k);%3*3的均值滤波模板for i = 1:ROW-k+1for j = 1:COL-k+1c = img1(i: i+(k-1), j: j+(k-1)) .* model; %取出img1中从(i,j)开始的n行n列元素与模板相乘 s = sum(c(:));%求c矩阵中各元素之和img_meanFilter(i + (k - 1)/2, j + (k - 1)/2) = s / (k*k);%将与模板运算后的各元素的均值赋给模板中心位置的元素 end
end
subplot(2,2,2);;imshow(uint8(img_meanFilter));title('均值滤波');%中值滤波
img_medianFilter = img1;
for i = 1:ROW-k+1for j = 1:COL-k+1c = img1(i:i+k-1,j:j+k-1);e = c(1,:);for m = 2:ke = [e, c(m, :)];%将3x3的矩阵变为1x9的矩阵endtemp = median(e);%从1x9的矩阵中找出中值img_medianFilter(i + (k - 1)/2, j + (k - 1)/2) = temp;end
end
subplot(2,2,3);imshow(uint8(img_medianFilter));title('中值滤波');%加权平滑滤波(例如核大小为5*5高斯滤波)
GaussianFilter = fspecial('gaussian',[5,5],1);% 创建5*5的高斯滤波器
img_GaussianFilter = imfilter(img1, GaussianFilter, 'replicate');
subplot(2,2,4);imshow(uint8(img_GaussianFilter));title('Gaussian滤波');
图像在空域上的平滑处理相关推荐
- youcans 的 OpenCV 学习课—8.频率域图像滤波(上)
欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV 学习课』 系列,持续更新中 youcans 的 OpenCV 学习课-1.安装与环境配置 yo ...
- 图像增强及直方图均衡化在图像去雾上的应用(附matlab代码)
一.图像增强技术介绍 简单进行一个背景介绍:图像增强就是将一幅图中需要的信息增强,消弱或去除不需要的信息的一种处理技术,可以达到改善图像质量的作用. 根据处理空间的不同,可以分为空域增强和频域增强两种 ...
- 2.4 Python图像的空域增强处理-空域滤波
2.4 Python图像的空域增强处理-空域滤波 文章目录 2.4 Python图像的空域增强处理-空域滤波 1 算法原理 2 代码 3 效果 1 算法原理 空域滤波(线性平滑滤波器.线性锐化滤波器. ...
- 2.2 Python图像的空域增强处理-算术运算
2.2 Python图像的空域增强处理-算术运算 文章目录 2.2 Python图像的空域增强处理-算术运算 1 算法原理 2 代码 3 效果 1 算法原理 1)加法与减法. 假设 f(x,y),g( ...
- 2.1 Python图像的空域增强处理-灰度映射
2.1 Python图像的空域增强处理-灰度映射 文章目录 2.1 Python图像的空域增强处理-灰度映射 1 算法原理 2 代码 3 效果 空域增强处理,包括给定变化曲线的灰度映射(求反.动态范围 ...
- OpenCV-获取图像中圆线上的数据
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 需求说明 在对图像进行处理时,经常会有这类需求:客户想要提取出图像中某条直线.圆线或者ROI区域 ...
- 极客星球 | 图像技术在上亿规模实拍图片中的应用
编者按: 闲鱼高级算法专家远悠近日出席了由MobTech袤博科技主办的[CoderPark]直播活动,与MobTech专家以及行业知名算法KOL齐聚云端,并分享了图像技术在上亿规模实拍图片中的应用 ...
- 【达摩院OpenVI】AIGC技术在图像超分上的创新应用
团队模型.论文.博文.直播合集,点击此处浏览 一.背景 近10年来,深度学习技术得到了长足进步,在图像增强领域取得了显著的成果,尤其是以GAN为代表的生成式模型在图像复原.老片修复,图像超分辨率等方面 ...
- 2.3 Python图像的空域增强处理-直方图修正
2.3 Python图像的空域增强处理-直方图修正 文章目录 2.3 Python图像的空域增强处理-直方图修正 1 算法原理 2 代码 3 效果 1 算法原理 直方图均衡化算法和直方图规定化 对于灰 ...
最新文章
- 互联网1分钟 |1026
- PE 学习之路 —— 区块表
- 调用远程service aidl接口定义
- CCF大专委2019年大数据发展趋势预测
- Python使用pyzabbix调用Zabbix API
- 用SoapUI进行WebService接口测试
- php5实现web services
- 下一步目标:整理出1套相对成熟的ios 开发框架
- 打开unity卡在loading白屏界面
- Node2Vec笔记
- Jquery项目练习-狂拍灰太狼
- c语言采用牛顿迭代法求解一元三次方程,使用牛顿迭代法求根 一元三次方程的根...
- 5款高效率,但是名气不大的小众软件
- 苹果mac笔记本部分按键失灵,为什么要5连按⌥ option键
- postman 一直Sending
- 如何离线在itpub上发表博文
- java 正则 提取数字_java使用正则提取字符串中的数字(例如提取短信中的验证码)详解...
- Electron Vue 打包错误: InvalidConfigurationError: ‘build‘ in the application package.json
- 如何在MAC中使用内网穿透
- objective-c中 -(void)和+(void) 业精于勤荒于嬉,行成于思毁于随