当前位置: 首页 > 图灵资讯 > 行业资讯> python如何在二维图像上进行卷积

python如何在二维图像上进行卷积

来源:图灵python
时间: 2024-07-16 10:18:01

说明

1、对于二维矩阵,卷积时卷积核从左到右,从上到下滑动,需要加权和相应位置。

2、一般图片为RGB三通道,每个通道都需要卷积,每个通道都是二维矩阵。灰度图只有一个通道,可以直接卷起。

实例

defmy_conv2d(inputs:np.ndarray,kernel:np.ndarray):
#假设mode是“计算需要填充的行列数”same”
#一般来说,卷积核的HW是奇数,这里的实现方法也是基于奇数大小的卷积核
h,w=inputs.shape
kernel=kernel[::-1,...][...,::-1]#卷积的定义必须旋转180度
h1,w1=kernel.shape
h_pad=(h1-1)//2
w_pad=(w1-1)//2
inputs=np.pad(inputs,pad_width=[(h_pad,h_pad),(w_pad,w_pad)],mode="constant",constant_values=0)
outputs=np.zeros(shape=(h,w))
foriinrange(h):#行号
forjinrange(w):#列号
outputs[i,j]=np.sum(np.multiply(inputs[i:i+h1,j:j+w1],kernel))
returnoutputs

以上是python在二维图像上卷积的方法,希望对大家有所帮助。更多Python学习指导:基础教程python基础教程

本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。