图像处理中的卷积与模板

转自http://www.360doc.com/content/11/0829/21/4539198_144340527.shtml

1.使用模板处理图像相关概念:      

     模板:矩阵方块,其数学含义是一种卷积运算。

  卷积运算可看作是加权求和的过程,使用到的图像区域中的每个像素分别与卷积核(权矩阵)的每个元素对应相乘,所有乘积之和作为区域中心像素的新值

     卷积核卷积时使用到的权,用一个矩阵表示,该矩阵与使用的图像区域大小相同,其行、列都是奇数,是一个权矩阵。

     卷积示例:

             假设3 * 3的像素区域R与卷积核G分别为:


                    

则卷积运算为:

              R5(中心像素)=R1G1 + R2G2 + R3G3 + R4G4 + R5G5 + R6G6 + R7G7 + R8G8 + R9G9

2、使用模板处理图像时涉及到的问题:

      边界问题:当处理图像边界像素时,卷积核与图像使用区域不能匹配,卷积核的中心与边界像素点对应,卷积运算将出现问题。

      处理办法:

              A忽略边界像素,即处理后的图像将丢掉这些像素。

              B保留原边界像素,即copy边界像素到处理后的图像。

3、常用模板:

      a低通滤波器

                          
    (b高通滤波器                 

                         
   (c平移和差分边缘检测

                    

    (d)匹配滤波边缘检测

                         

     (e边缘检测

                                 

     (f梯度方向边缘检测

                          

 

                           

 4、我们来看一下一维卷积的概念.

    卷积(convolution,另一个通用名称是德文的Faltung)的名称由来,是在于当初定义它时,定义成integ(f1(v)*f2(t-v))dv,积分区间在0t之间。举个简单的例子,大家可以看到,为什么叫卷积了。比方说在(0100)间积分,用简单的辛普生积分公式,积分区间分成100等分,那么看到的是f1(0)f2(100)相乘,f1(1)f2(99)相乘,f1(2)f2(98)相乘,.........等等等等,就象是在坐标轴上回卷一样。所以人们就叫它回卷积分,或者卷积了。

    连续空间的卷积定义f(x)g(x)的卷积是f(x-t)g(t)t从负无穷到正无穷的积分值.x-t要在f(x)定义域内,所以看上去很大的积分实际上还是在一定范围的.
       
实际的过程就是f(x)先做一个Y轴的反转,然后再沿X轴平移t就是f(t-x),然后再把g(x)拿来,两者乘积的值再积分.想象一下如果g(x)或者f(x)是个单位的阶越函数.那么就是f(t-x)g(x)相交部分的面积.这就是卷积了.

    卷积运算满足交换律,也就是说:fg进行卷积完全等于gf进行卷积。

   由两个函数fg进行卷积而得到的函数f*g一般要比原来的fg都要光滑。所以在图像处理中对图像进行卷积后会使原图像模糊。因为卷积具有平滑作用。

    有趣的是,如果把两个人的照片互相进行卷积,所得到的照片,就同时和这两个人都很相像。

把积分符号换成求和就是离散空间的卷积定义了.

   那么在图像中卷积是什么意思呢,就是图像就是图像f(x),模板是g(x),然后将模版g(x)在模版中移动,每到一个位置,就把f(x)g(x)的定义域相交的元素进行乘积并且求和,得出新的图像一点,就是被卷积后的图像.模版又称为卷积核.卷积核做一个矩阵的形状。

5、卷积运算时的核函数

      Matlab中,对图像进行卷积运算时,都要先得到一个核函数,其实就是模板。其函数调用是:

>> G=fspecial('gaussian',5,0.5)

G =

     0.0000    0.0000    0.0002    0.0000    0.0000

    0.0000    0.0113    0.0837    0.0113    0.0000

    0.0002    0.0837    0.6187    0.0837    0.0002

    0.0000    0.0113    0.0837    0.0113    0.0000

     0.0000    0.0000    0.0002    0.0000    0.0000

>> G=fspecial('gaussian',5,1.5)

G =

    0.0144    0.0281    0.0351    0.0281    0.0144

   0.0281    0.0547    0.0683    0.0547    0.0281

   0.0351    0.0683    0.0853    0.0683    0.0351

   0.0281    0.0547    0.0683    0.0547    0.0281

   0.0144    0.0281    0.0351    0.0281    0.0144

    能够看出来,fspesial()函数的第一个参数表示返回高斯核函数(低通滤波器、模板等名称其实都一样)。第二个参数“5”表示该模板的大小,是5X5的矩阵。第三个参数是sigma

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值