卷积运算的本质,以tensorflow中VALID卷积方式为例。

版权声明:本文为作者原创,如需转载,请联系博主,谢谢! https://blog.csdn.net/qq_22828175/article/details/83095543

卷积运算在数学上是做矩阵点积,这样可以调整每个像素上的BGR值或HSV值来形成不同的特征。从代码上看,每次卷积核扫描完一个通道是做了一次四重循环。下面以VALID卷积方式为例进行解释。
在这里插入图片描述

下面是python的代码:

def convolve(dateMat,kernel):
    m,n = dateMat.shape
    km,kn = kernel.shape
    newMat = np.ones(((m - km + 1),(n - kn + 1)))
    tempMat = np.ones(((km),(kn)))
    for row in range(m - km + 1):
        for col in range(n - kn + 1):
            for m_k in range(km):
                for n_k in range(kn):
                    tempMat[m_k,n_k] = dateMat[(row + m_k),(col + n_k)] * kernel[m_k,n_k]
            newMat[row,col] = np.sum(tempMat)

    return newMat

猜你喜欢

转载自blog.csdn.net/qq_22828175/article/details/83095543