我需要编写一个代码来使用 numpy 和 3x3 内核在 python 中执行 3D 卷积。我已经对像黑白图像这样的 2D 阵列做了正确的处理,但是当我尝试将它扩展到像 RGB 这样的 3D 阵列时是一团糟。我需要帮助来改进我的方法。这是二维代码:
def convolucion_3x3(arreglo, kernel):
(dim_x, dim_y) = arreglo.shape
(ker_x, ker_y) = kernel.shape
matriz_convolucionada = np.zeros((dim_x, dim_y))
for i in range(dim_x):
for j in range(dim_y):
resultado = 0
for x in range(-1, 2):
try:
if i + x not in range(dim_x):
raise ValueError()
for y in range(-1, 2):
try:
if j + y not in range(dim_y):
raise ValueError()
resultado += arreglo[i + x, j + y] * …Run Code Online (Sandbox Code Playgroud)