Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cmath>#include <cstdio>using namespace std;void FilterImageByConvolution(double *pfSrcImage, int nWid, int nHgt,double *pfFilter, int nFilterSize, double *pfRstImage,int channel){int i, j,k;double fVal, fI, fF;int nTgtWid, nTgtHgt;double *pfTgt = NULL;int m, n, v,x;double *pfSi = NULL, *pfSy = NULL, *pfSI = NULL, *pfFT = NULL;pfTgt = pfRstImage;pfSi = pfSrcImage;int p, q;nTgtWid = nWid;nTgtHgt = nHgt;for (i = 0; i < nTgtHgt; i+=2){for (j = 0, x = 0; j < nTgtWid; j+=2){p = i - 1;fVal = 0.0f;pfSy = pfSi;pfFT = pfFilter;for (m = 0; m < nFilterSize; m++){q = j - 1;pfSI = pfSy + x*channel*2;for (n = 0; n < nFilterSize; n++)