小波变换中H,G算子到底怎么理解,可以注释下程序么
void CWavelet2DDlg::HOperatorOnRow(int filterlen, int start, int len,int row)
{
int i,i2,m,k,len1;
double temp1;
m=m_nFilterLen/2;
len1=len>>1;
for(i=0;i<len1;i++)
{
i2=2*i;
tempRow[i+start]=0;
if(len>filterlen)
{
for(k=i2-len;k<=i2-len+m;k++)
{
if((k>=0)&&(k<len))
if((temp1=ph[(k-i2+len)%len])!=0)
tempRow[i+start]+=temp1*image[row][k+start];
}
for(k=i2-m+1;k<=i2+m;k++)
{
if((k>=0)&&(k<len))
if((temp1=ph[(k-i2+len)%len])!=0)
tempRow[i+start]+=temp1*image[row][k
+start];
}
for(k=i2+len-m+1;k<=i2+len;k++)
{
if((k>=0)&&(k<len))
if((temp1=ph[(k-i2+len)%len])!=0)
tempRow[i+start]+=temp1*image[row][k+start];
}
}
else
{
for(k=0;k<len;k++)
{
if((temp1=ph[(k-i2+len)%len])!=0)
tempRow[i+start]+=temp1*image[row][k+start];
}
}
}
}
小波,H算子 image
[解决办法]
分别是高通,低通正交或者双正交滤波器
两个构成一组滤波器