《数字图像处理》——图像滤波

    首先,图像滤波主要涉及线性滤波和非线性滤波两大类。


    线性滤波主要有:方框滤波器,均值滤波器,高斯滤波器(注意:滤波器的名字,通常是根据他们的核的使用来命名的,核也可以叫做模板,掩膜,窗口,空间滤波器。名字好多!!!)


    非线性滤波器主要有:中值滤波和双边滤波。


 1、向量之间的卷积与相关

        图像滤波就是让一个图像和一个掩膜去做卷积运算,所以首先我想简单介绍一下一维的卷积运算,以方便的向图像的二维空间进行扩展。

直接上代码,原理可以通过代码来理解,也可以参考冈萨雷斯数字图像处理书本相关章节。

% 实现卷积操作
%   下面分别通过调用matlab代码和自己来实现向量之间的卷积操作
%    涉及到矩阵卷积原理类似,只是实现起来稍微复杂。本程序就不涉及矩阵操作。
% 先实现两个向量的卷积
clc;close all;clear all;
input = [1 1 1 1];  % 供测试代码用
temp = [1 2 3 4];

fprintf('调用库函数imfilter完成相关运算');
imfilter(input, temp, 'conv', 0, 'full')

% 以下自己实现
[m, n] = size(input);
[h ,w] = size(temp);   % 只考虑奇数向量

% 首先将模板旋转180度,注意卷积和相关的区别
temp(1:end) = temp(end : -1: 1);

% 边界通过0的值来扩展
input_temp = zeros(1, n + 2 * ( w - 1 ) );

input_temp(w: w + n - 1) = input(1:end);  % 初始化输入向量

% 让模板滑过扩展的输入向量
kk = size(input_temp, 2) - w  + 1 ;
output = zeros(1, kk);
for i = 1: kk
    output(i) = sum ( input_temp(i : i + w - 1) .* temp(1: end) );
end
output

输出结果:

调用库函数imfilter完成相关运算
ans =

     1     3     6    10     9     7     4


output =

     1     3     6    10     9     7     4


注意卷积和相关的关系,只是将模板是否翻转180度的问题,得到的向量也就是对称关系的。


具体图像的滤波见下一个博客!!!!




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值