#include "myGuidedFilter_Mat.h"
CvMat * cumsum(CvMat *src,intrc)
{
CvMat *Imdst = cvCreateMat(src->rows,src->cols,CV_64FC1);
Imdst=cvCloneMat(src);
if(rc==1)
{
for(inty=1;yheight;y++)
{
double*ptr0=(double*)(Imdst->data.ptr+(y-1)*Imdst->step);
double*ptr=(double*)(Imdst->data.ptr+y*Imdst->step);
for(intx=0;xwidth;x++)
{
ptr[x]=ptr0[x]+ptr[x];
//cvSetReal2D(Imdst,y,x,cvGetReal2D(Imdst,y-1,x)+cvGetReal2D(Imdst,y,x));
}
}
}
elseif(rc==2)
{
for(inty=0;yheight;y++)
{
double*ptr=(double*)(Imdst->data.ptr+y*Imdst->step);
for(intx=1;xwidth;x++)
{
ptr[x]=ptr[x-1]+ptr[x];
//cvSetReal2D(Imdst,y,x,cvGetReal2D(Imdst,y,x-1)+cvGetReal2D(Imdst,y,x));
}
}
}
returnImdst;
}
CvMat * boxFilter(CvMat *src,intr)
{
CvMat *Imdst = cvCreateMat(src->rows,src->cols,CV_64FC1);
Imdst=cvCloneMat(src);
CvMat *subI