平均フィルターとガウス フィルターで使用する畳み込み関数を実装したいのですが、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;
}
畳み込み関数ですが、畳み込み関数でエラー(実際には終了)が発生するため、フィルターに進むことができませんでした。実装を手伝ってもらえますか?
ありがとうございました。