openCV计算积分图


|
字号

Integral

计算积分图像

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) = image(x,y)
  x < X,y < Y  
sqsum(X,Y) = image(x,y)2
  x < X,y < Y  
tilted_sum(X,Y) = image(x,y)
  y < Y, | x ? X | < y  

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

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


转自openCV中文网站http://www.opencv.org.cn/index.php?title=Cv图像处理&diff=next&oldid=7690

你可能感兴趣的:(opencv,图像处理,积分图)