空域滤波图示
来源:互联网 发布:破解软件密码公司 编辑:程序博客网 时间:2024/05/17 09:38
空域滤波就是二维卷积,计算步骤:
(1) 卷积核绕自己的核心元素顺时针旋转180度(这个千万不要忘了)
(2) 移动卷积核的中心元素,使它位于输入图像待处理像素的正上方
(3) 在旋转后的卷积核中,将输入图像的像素值作为权重相乘
MATALB仿真结果
a =
2 1 3 1
1 2 1 2
2 1 3 2
1 3 1 2
b =
1 1 1
1 1 1
1 1 1
c =
6 10 10 7
9 16 16 12
10 15 17 11
7 11 12 8
d =
2 3 6 5 4 1
3 6 10 10 7 3
5 9 16 16 12 5
4 10 15 17 11 6
3 7 11 12 8 4
(1) 卷积核绕自己的核心元素顺时针旋转180度(这个千万不要忘了)
(2) 移动卷积核的中心元素,使它位于输入图像待处理像素的正上方
(3) 在旋转后的卷积核中,将输入图像的像素值作为权重相乘
(4) 第三步各结果的和做为该输入像素对应的输出像素
卷积核就是滤波器系数
这是原始图像和卷积核:
这是3种情况下的卷积计算图示:
a计算扩充的某点,即第一个像素左上角的那一点,注意并不是计算第一个像素点的滤波值;b是计算中间某点的滤波值;c是计算扩充的某点,即第一行最后一个像素右上角的那一点,注意并不是计算第一行最后一点的滤波值;6*6的图像卷积3*3的核得到8*8的输出
设原始图像M*M,卷积核N*N,先把原始图像右边和下边扩充 N-1 个像素(卷积结果边长=M+N-1),不断平移卷积核,直到没有重叠区域为止;每次只考虑重叠的区域,对应位置相乘,把乘积相加就是当前像素点处的滤波输出,当前像素点永远位于卷积核的正中间。
相关MATALB代码
a=[2 1 3 1;1 2 1 2;2 1 3 2;1 3 1 2];b=[1 1 1;1 1 1;1 1 1];c=conv2(a,b,'same');d=conv2(a,b,'full');fprintf('\na = \n');disp(a);fprintf('\nb = \n');disp(b);fprintf('\nc = \n');disp(c);fprintf('\nd = \n');disp(d);
MATALB仿真结果
a =
2 1 3 1
1 2 1 2
2 1 3 2
1 3 1 2
b =
1 1 1
1 1 1
1 1 1
c =
6 10 10 7
9 16 16 12
10 15 17 11
7 11 12 8
d =
2 3 6 5 4 1
3 6 10 10 7 3
5 9 16 16 12 5
4 10 15 17 11 6
3 7 11 12 8 4
1 4 5 6 3 2
matlab中的 imfilter 和 conv2 都能够实现,后者得到的结果直接是卷积结果,长度为M+N-1;但前者默认保持输入输出大小一致,将卷积结果的边界上的(N-1)/2 行(列)的元素舍弃
0 0
- 空域滤波图示
- 空域滤波
- 空域滤波
- 空域滤波基础
- matlab 空域滤波
- 空域滤波的基本原理简介
- 空域高斯滤波与频域高斯滤波
- 空域滤波与频域滤波
- 空域高斯滤波与频域高斯滤波
- 实验四 图像的空域滤波
- 图像增强 空域滤波和频域滤波
- 1. 图像的空域线性滤波和非线性滤波
- 系统学习数字图像处理之灰度变换和空域滤波
- 灰度图像--空域滤波 基础:卷积和相关
- matlab学习笔记(八)---空域滤波增强
- 使用 matlab 数字图像处理(六)—— 空域滤波
- 图像增强之三——空域滤波
- 【OpenCV图像处理】十五、图像空域滤波(上)
- LINQ解决根据某个字段去重
- Red5相关接口知识整理
- Spring学习-黎活明视频学习注解
- pom详解
- activity跳转的时候如何实现动画效果
- 空域滤波图示
- How to Cracked Sublime Text 3 Build 3065 in Ubuntu (Linux)
- Java如何调用其他服务器接口
- word break
- Bug敏感度的培养
- ibatis批量查询数据xml配置
- 获取Spring上下文ApplicationContext的多种方法
- 【Android UI设计与开发】第08期:底部菜单栏(三)Fragment+FragmentTabHost实现仿新浪微博底部菜单栏
- C#个人总结,第4章:继承