cvIntegral—积分图的计算

来源:互联网 发布:淘宝礼券 编辑:程序博客网 时间:2024/06/04 23:25
原文地址:cvIntegral—积分图的计算作者:448967013
void cvIntegral( const CvArr* image, CvArr* sum, CvArr* sqsum=NULL, CvArr* tilted_sum=NULL );

 

image
输入图像, W×H, 单通道,8位或浮点 (32f 或64f).
sum
积分图像,W+1×H+1(译者注:原文的公式应该写成(W+1)×(H+1),避免误会),单通道,32位整数或 double 精度的浮点数(64f).
sqsum
对象素值平方的积分图像,W+1×H+1(译者注:原文的公式应该写成(W+1)×(H+1),避免误会),单通道,32位整数或 double 精度的浮点数 (64f).
tilted_sum
旋转45度的积分图像,单通道,32位整数或 double 精度的浮点数 (64f).

函数 cvIntegral 计算一次或高次积分图像:

sum(X,Y)=sumx<X,y<Yimage(x,y)sqsum(X,Y)=sumx<X,y<Yimage(x,y)2tilted_sum(X,Y)=sumy<Y,abs(x-X)<yimage(x,y)

利用积分图像,可以计算在某象素的上-右方的或者旋转的矩形区域中进行求和、求均值以及标准方差的计算,并且保证运算的复杂度为O(1)。例如:


sumx1<=x<x2,y1<=y<y2image(x,y)=sum(x2,y2)-sum(x1,y2)-sum(x2,y1)+sum(x1,x1)

因此可以在变化的窗口内做快速平滑或窗口相关等操作

 

http://fsa.ia.ac.cn/opencv-doc-cn/opencv-doc-cn-0.9.7/ref/opencvref_cv.cn.htm