用C语言写一个卷积的计算代码
时间: 2023-03-28 15:01:12 浏览: 241
你好,以下是用C语言写一个卷积的计算代码的示例:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
int main() {
int image[5][5] = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{21, 22, 23, 24, 25}
};
int kernel[ROWS][COLS] = {
{1, , -1},
{2, , -2},
{1, , -1}
};
int result[3][3] = {};
for (int i = 1; i < 4; i++) {
for (int j = 1; j < 4; j++) {
for (int k = ; k < ROWS; k++) {
for (int l = ; l < COLS; l++) {
result[i-1][j-1] += image[i+k-2][j+l-2] * kernel[k][l];
}
}
}
}
for (int i = ; i < 3; i++) {
for (int j = ; j < 3; j++) {
printf("%d ", result[i][j]);
}
printf("\n");
}
return ;
}
```
这段代码实现了一个简单的卷积计算,将一个 5x5 的图像和一个 3x3 的卷积核进行卷积,输出一个 3x3 的结果矩阵。
阅读全文