在一家专注于计算机视觉的科技公司,你被指派到一个图像增强项目。团队正在开发一种算法,通过应用卷积核来增强图像的特定特征,如边缘和纹理。你的任务是编写一个程序,对给定的灰度图像应用指定的卷积核,以实现图像的卷积操作。 请你帮助团队实现一个程序,使用 NumPy 库对给定的灰度图像矩阵进行卷积操作。具体要求如下: 1. 读取输入矩阵,为一个二维列表,表示灰度图像的像素值矩阵。 2. 读取卷积核矩阵,为一个二维列表,尺寸为 (),其中 ( k ) 为奇数。 3. 对图像矩阵进行卷积操作,卷积过程中需要对边缘进行适当的填充(使用零填充)。 4. 输出卷积后的矩阵,每个元素保留两位小数(使用 round(x, 2))。
输入描述:
    •    第一行包含两个整数 ( m ) 和 ( n ),表示图像矩阵的行数和列数。    •    接下来的 ( m ) 行,每行包含 ( n ) 个整数,表示图像矩阵的元素,元素之间用空格分隔。    •    接下来一行包含一个整数 ( k ),表示卷积核的尺寸( ),且 ( k ) 为奇数)。    •    接下来的 ( k ) 行,每行包含 ( k ) 个浮点数,表示卷积核矩阵的元素,元素之间用空格分隔。


输出描述:
    •    输出 ( m ) 行,每行包含 ( n ) 个浮点数,表示卷积后的矩阵元素,元素之间用空格分隔,结果均保留两位小数,使用 round(x, 2)。
示例1

输入

4 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
3
0 -1 0
-1 5 -1
0 -1 0

输出

-2.0 0.0 2.0 9.0
9.0 6.0 7.0 17.0
17.0 10.0 11.0 25.0
42.0 32.0 34.0 53.0

备注:
对于输入图像矩阵 ( I ) 和卷积核矩阵 ( K ),卷积操作的公式为:其中,( O(i, j) ) 是输出矩阵的元素,( k ) 为卷积核半径(),需要对输入矩阵进行
加载中...