【图像处理】快速计算积分图

因此,对一张W*H的图像直接求取积分图,,只需要:

(W-1)+(H-1)+2*(W-1)*(H-1)

次加法。代码如下:

void fastIntegral(unsigned char* inputMatrix, unsigned long* outputMatrix, int width, int height){unsigned long *columnSum = new unsigned long[width]; // sum of each column// calculate integral of the first linefor(int i=0;i<width;i++){columnSum[i]=inputMatrix[i];outputMatrix[i] = inputMatrix[i];if(i>0){outputMatrix[i] += outputMatrix[i-1];}}for (int i=1;i<height;i++){int offset = i*width;// first column of each linecolumnSum[0] +=inputMatrix[offset];outputMatrix[offset] = columnSum[0];// other columnsfor(int j=1;j<width;j++){columnSum[j] += inputMatrix[offset+j];outputMatrix[offset+j] = outputMatrix[offset+j-1] + columnSum[j];}}return ;}(转载请注明作者和出处:未经允许请勿用于商业用途)

一切都在发展变化,不断地向昨天告别,满怀信心地投入每一个崭新的今天。

【图像处理】快速计算积分图

相关文章:

你感兴趣的文章:

标签云: