2

平均フィルターとガウス フィルターで使用する畳み込み関数を実装したいのですが、pgm ファイルに適用するには、これら 2 つのフィルターも実装する必要があります。私は持っている

typedef struct _PGM{
int row;
int col;
int max_value;
int **matrix;
}PGM;

構造体と

int convolution(int ** kernel,int ksize, PGM * image, PGM * output){

   int i, j, x, y;
   int sum;
   int data;
   int scale =ksize*ksize;
   int coeff;

 for (x=ksize/2; x<image->row-ksize/2;++x) {
  for (y=ksize/2; y<image->col-ksize/2; ++y){
     sum = 0;
    for (i=-ksize/2; i<=ksize/2; ++i){
      for (j=-ksize/2; j<=ksize/2; ++j){
        data = image->matrix[x +i][y +j];
        coeff = kernel[i+ksize/2][j+ksize/2];
        sum += data * coeff;
    }
  }
  output->matrix[x][y] = sum / scale; 
 }
}

return sum/scale;
}

畳み込み関数ですが、畳み込み関数でエラー(実際には終了)が発生するため、フィルターに進むことができませんでした。実装を手伝ってもらえますか?

ありがとうございました。

4

1 に答える 1