大家好,欢迎来到IT知识分享网。
—————————————————————————————————————
从上文我们得知了卷积的来源。我们再找一下卷积的官方定义:数学中关于两个函数的一种无穷积分运算。对于函数f1(t)和f2(t),其卷积表示为:式中:“*”为卷积运算符号。
在泛函分析中,卷积(卷积)、旋积或摺积(英语:Convolution)是通过两个函数f 和g 生成第三个函数的一种数学算子,表徵函数f 与经过翻转和平移与g 的重叠部分的累积。函数f与g的卷积记作f(t)*g(t),它是其中一个函数翻转并平移后与另一个函数的乘积的积分,是一个对平移量的函数。
函数f与g的卷积可以定义为: z(t)=f(t)*g(t)= ∫f(m)g(t-m)dm.
并且卷积定理指出:二个二维连续函数在空间域中的卷积可求其相应的二个傅立叶变换乘积的反变换而得。反之,在频域中的卷积可用的在空间域中乘积的傅立叶变换而得。
其实,说了这么多,我还是不太明白为什么要对图像进行卷积,怎样进行卷积。
1.2 卷积运算
提到卷积运算,首先离不开的就是卷积核,这个卷积核其实就是一个大小固定、由数值参数构成的数组,数组的参考点通常位于数组的中心,数组的大小称为核支撑。单就技术而言,核支撑实际上仅仅由核数组的非0部分组成。或者,像其他说法,卷积核就是所谓的模板。
如果对一幅图像进行卷积运算,可利用以数组为中心为参考点的3*3卷积核。首先将核的参考点定位于图像的第一个像素点,核的其余元素覆盖图像总其对应的局部像素点。对于每一个核点,我们可以得到这个点的值以及图像中对应图像点的值。将这些值相乘并求和,并将这个结果放在与输入图像参考点所对应的位置。通过在整个图像上扫描卷积核,对图像的每个点重复此操作。最终可以得到图像的卷积图像。
当然,我们可以利用方程表示这个过程,定义图像为I(x,y),核为G(i,y)(其中0<i<Mi-1,0<j<Mj-1) 参考点位于(ai,aj)坐标上,则卷积H(x,y)定义如下:
H(x,y) = sum[ I(x+i-ai,y+j-aj)G(i,j)].
.常用模板(卷积核)
1.3 意义
卷积是各种图像变换的基础,一个特殊卷积所实现的功能是由其卷积核(模板)的形式决定的。高斯变换就是用高斯函数对图像进行卷积。
平滑处理:平滑类型:简单模糊(对邻域求和,并缩放),简单无缩放变换的模糊(对邻域求和),中值模糊(中值滤波),高斯模糊(高斯卷积),双边模糊(双线性滤波)。
膨胀和腐蚀。
图像金字塔
拉普拉斯变换、canny算子(求导数)
卷积性质:
1.卷积的符号表示式表明卷积是一种特殊类型的乘法,乘法某些代数性质可用于卷积。
2.卷积的微分和积分
(1)两函数相卷积后的导数等于两函数之一的导数与另一函数相卷积。
(2)两函数相卷积后的积分等于两函数之一的积分与另一函数相卷积。
(3)推广
若f1(t)*f2(t) = s(t), 则,两个分别为m阶和n阶函数导数卷积,由它们卷积的(m+n)阶导数给出。
3.奇异信号的卷积特性:
所以,图像卷积与积分图像有什么关系吗?知者告知我啊。。。。。。
2 积分图像
surf算法中要用到积分图像的概念。借助积分图像,图像与高斯二阶微分模板的滤波转化为对积分图像的加减运算。积分图像(Integral Image)的概念是由viola和Jones提出来的,而将类似积分图像用于盒子滤波是由Simard等人提出。
积分图像中任意一点(i,j)的值为ii(i,j)为原图像左上角到任意点(i,j)相应的对角线区域灰度值的总和即:
公式中,I(x`,y`)表示原图像中点(i`,j`)的灰度值,ii(x,y)可以由下面两公式迭代计算得到:
公式中,S(x,y)表示一列的积分,且S(i,-1)=0,ii(-1,j)=0.求积分图像,只需对原图像的所有像素素进行一遍扫描。下面的代码为c++语言的实现
pOutImage[0][0] = pInImage[0][0];
}
}
如图表示,在求取窗口w内的像元灰度和时,不管窗口W的大小如何,均可利用积分图像的4个对应点(i1,j1)(i2,j2)(i3,j3)(i4,j4)的值计算的到。也就是说,求取窗口W内的像元灰度和与窗口的尺寸是无关的。窗口W内的像元的灰度和为
Sum(W)= ii(i4,j4) -ii(i2,j2) – ii(i3,j3) + ii(i1,j1)
下面看以截图,相信都可以看懂
关于矩形区域内像素点的求和应该是一种简单重复性运算,采用这种思路总体上提高了效率。为什么这么说呢?假设一幅图片共有n个像素点,则计算n个位置的积分图总共的加法运算有n-1次(注意:可不是
那可是天文数字,而且这里面绝大部分的矩形有重叠,重叠意味着什么?在算求和的时候有重复性的工作,其实我们是可以有效的利用已经计算过的信息的。这就是积分图法的内在思想:它实际上是先计算n个互不重叠(专业点说是不相交)的矩形区域内的像素点求和,充分利用这些值(已有值)计算未知值,有点类似递推的味道…这就完全避免了重复求和运算。
这样就可以进行2种运算:
(1)任意矩形区域内像素积分。由图像的积分图可方便快速地计算图像中任意矩形内所有像素灰度积分。如下图2.3所示,点1的积分图像ii1的值为(其中Sum为求和) :
ii1=Sum(A)
同理,点2、点3、点4的积分图像分别为:
ii2=Sum(A)+Sum(B); ii3=Sum(A)+Sum(C); ii4=Sum(A)+Sum(B)+Sum(C)+Sum(D);
矩形区域D内的所有像素灰度积分可由矩形端点的积分图像值得到:
Sum(D)=ii1+ii4-(ii2+ii3) (1)
(2) 特征值计算
矩形特征的特征值是两个不同的矩形区域像素和之差,由(1)式可以计算任意矩形特征的特征值,下面以图2.1中特征原型A为例说明特征值的计算。
Sum(A)-Sum(B)
根据(1)式则有:Sum(A)=ii4+ii1-(ii2+ii3); Sum(B)=ii6+ii3-(ii4+ii5);
所以此类特征原型的特征值为:
(ii4-ii3)-(ii2-ii1)+(ii4-ii3)-(ii6-ii5)
另示:运用积分图可以快速计算给定的矩形之所有象素值之和Sum(r)。假设r=(x,y,w,h),那么此矩形内部所有元素之和等价于下面积分图中下面这个式子:
Sum(r) = ii(x+w,y+h)+ii(x-1,y-1)-ii(x+w,y-1)-ii(x-1,y+h)
由此可见,矩形特征特征值计算只与此特征端点的积分图有关,而与图像坐标值无关。对于同一类型的矩形特征,不管特征的尺度和位置如何,特征值的计算所耗费的时间都是常量,而且都只是简单的加减运算。其它类型的特征值计算方法类似。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/114218.html






