opencv卷积cvFileter2D与卷积边界cvCopyMakeBorder处理图像的总结

1)卷积

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

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

    卷积定义上是线性系统分析经常用到的。线性系统就是一个系统的输入和输出的关系是线性关系,就是说整个系统可以分解成N多的无关独立变化,整个系统就是这些变化的累加。如 x1->y1, x2->y2; 那么A*x1 + B*x2 -> A*y1 + B*y2 这就是线性系统。 表示一个线性系统可以用积分的形式,如Y= Sf(t,x)g(x)dt  S表示积分符号,就是f(t,x)表示的是A,B之类的线性系数。
    看上去很像卷积呀。对!如果f(t,x) = F(t-x) 不就是了吗。从f(t,x)变成F(t-x)实际上是说明f(t,x)是个线性移不变,就是说,变量的差不变化的时候,那么函数的值不变化。实际上说明一个事情就是说,线性移不变系统的输出可以通过输入和表示系统线性特征的函数卷积得到。
卷积是图像处理常用的方法,给定输入图像,在输出图像中每一个像素是输入图像中一个小区域中像素的加权平均,其中权值由一个函数定义,这个函数称为卷
积核。比如说卷积公式:R(u,v)=∑∑G(u-i,v-j)f(i,j),其中f为输入,G为卷积核。


void cvFilter2D(const  CvArr*  src,
		 CvArr*        dst,
                 const CvMat* kernel,
                 CvPoint anchor=cvPoint(-1,-1));
#define cvConvolve2D cvFilter2D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值