小编Dav*_*ate的帖子

python中的3D卷积

我需要编写一个代码来使用 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)

python filtering numpy image-processing convolution

2
推荐指数
1
解决办法
8128
查看次数

标签 统计

convolution ×1

filtering ×1

image-processing ×1

numpy ×1

python ×1