题目描述
计算机视觉是一个非常有趣且充满挑战的领域。特别是卷积神经网络(CNN),这种网络在图像识别和处理方面展示了惊人的效果。ldx意识到,要深入理解CNN,就必须从其最基本的组成部分------卷积操作开始。可是ldx说,他可是有脑子的,这种问题不需要他动手,于是交给你来解决。
卷积操作本质上是一个元素乘积和的过程,卷积核在图像上滑动并在每个位置执行这种运算。
给定一个 n×nn \times nn×n 的卷积核和一个 m×mm \times mm×m 的矩阵。你的任务是使用卷积核对图像矩阵进行卷积操作。卷积操作是指,将卷积核覆盖到矩阵的对应部分,并将卷积核下的元素与矩阵对应位置的元素相乘,然后将所有乘积相加,得到结果矩阵的一个元素。卷积核会在整个矩阵上移动,直到覆盖矩阵的每一个可以容纳卷积核的部分。
例如:
输入
第一行包含两个整数 nnn 和 mmm,(1≤n≤m≤20)(1 \le n \le m \le 20)(1≤n≤m≤20)
接下来 nnn 行,每行 nnn 个整数 ai,j(0≤ai,j≤20)a_{i,j} (0 \le a_{i,j} \le 20)ai,j(0≤ai,j≤20) ,表示卷积核。
接下来 mmm 行,每行 mmm 个整数 bi,j(0≤bi,j≤20)b_{i,j} (0 \le b_{i,j} \le 20)bi,j(0≤bi,j≤20) ,表示需要进行卷积的矩阵。
输出
输出一个 (m−n+1)×(m−n+1)(m-n+1) \times (m-n+1)(m−n+1)×(m−n+1) 的矩阵,表示卷积操作的结果。
2 3
0 1
2 3
1 2 3
4 5 6
7 8 9