用C++写一个矩阵和图像卷积
时间: 2024-05-19 12:13:46 浏览: 14
#include <stdio.h>
// 定义矩阵大小
#define ROWS 5
#define COLS 5
// 定义卷积核大小
#define KERNEL_SIZE 3
// 定义卷积核
int kernel[KERNEL_SIZE][KERNEL_SIZE] = {
{-1, -1, -1},
{-1, 8, -1},
{-1, -1, -1}
};
// 定义输入矩阵
int matrix[ROWS][COLS] = {
{ 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 output[ROWS][COLS];
int main() {
// 遍历输入矩阵每一个像素
for(int i = 0; i < ROWS; i++) {
for(int j = 0; j < COLS; j++) {
int sum = 0;
// 遍历卷积核每一个像素
for(int k = 0; k < KERNEL_SIZE; k++) {
for(int l = 0; l < KERNEL_SIZE; l++) {
// 计算卷积和
int row = i - KERNEL_SIZE / 2 + k;
int col = j - KERNEL_SIZE / 2 + l;
if(row >= 0 && row < ROWS && col >= 0 && col < COLS) {
sum += matrix[row][col] * kernel[k][l];
}
}
}
// 将卷积和赋值给输出矩阵
output[i][j] = sum;
}
}
// 输出输出矩阵
for(int i = 0; i < ROWS; i++) {
for(int j = 0; j < COLS; j++) {
printf("%d ", output[i][j]);
}
printf("\n");
}
return 0;
}
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)