最近在做积分图像的东西,用到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)的,
在计算一个矩形区域的和的时候,计算如下: