我正在尝试在将图像输入 CNN 之前对其进行预处理。
目标
使用以下等式在尺寸为 512x512(基本上是 (512,512, 3) 的形状)的 RGB 图像上应用高通滤波器(参考 1)后提取残差:
其中I是图像,矩阵是高通滤波器。
最初,我想通过使用这里问题中定义的方法来解决问题。但他们使用了灰度图像。
假设:
分离不同通道中的图像,然后将过滤器应用于通道,然后再次组合它们。
您认为这是解决问题的正确方法还是有更好的方法?我将如何在 Python 中解决这个问题?
参考:
更新 目前,这是我的高通滤波器功能:
from scipy import ndimage
import numpy as np
def high_pass(data):
kernel = [[-1, 2, -2, 2, -1],
[2, -6, 8, -6, 2],
[-2, 8, -12, 8, -2],
[2, -6, 8, -6, 2],
[-1, 2, -2, 2, -1]]
kernel = np.dstack([kernel, kernel, kernel]) * (1.0/12.0)
residual = ndimage.convolve(data, kernel)
return residual