关于cvIntegral函数的一些说明

 

 

最近在做积分图像的东西,用到cvIntegral函数,在网上找了一些资料,发现都不详细,故整理如下:

 

1  void cvIntegral(

2      const CvArr* image,

3      CvArr* sum,

4      CvArr* sqsum,

5      CvArr* tilted_sum

6  );

 

首先要注意的是sum是(W+1)*(H+1)大小的

其次要注意sum和sqsum的数据类型:

输入图像image:       WxH,              8-bit or floating-point (32f or 64f) image.                        (IPL_DEPTH_8U/IPL_DEPTH_32F/IPL_DEPTH_64F)

积分图像sum:         (W+1)x(H+1), 32-bit integer or double precision floating-point (64f).       (IPL_DEPTH_32S/IPL_DEPTH_64F)

积分平方图像sqsum:(W+1)x(H+1), double precision floating-point (64f)                                 (IPL_DEPTH_64F)

 

最后一点需要注意的是:

因为输出的积分图像和积分平方图像是(W+1)x(H+1)的,

在计算一个矩形区域的和的时候,计算如下:

 

 

 

你可能感兴趣的:(int)