python如何在二维图像上进行卷积
python如何在二维图像上进行卷积
说明
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学习教程请关注IT培训机构:千锋教育。

猜你喜欢LIKE
相关推荐HOT
更多>>
python中mat是什么意思?
python中mat是什么意思?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运...详情>>
2023-11-10 23:22:48
python上下文管理的使用场景
python上下文管理的使用场景本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、上下文管理的使用场景凡是要在代码块前后插入代码的...详情>>
2023-11-10 20:07:44
python常量折叠是什么
python常量折叠是什么1、概念所谓常量折叠,指的是在编译时就查找并计算常量表达式,而不是在运行时再对其进行计算,从而会使运行时更加精简和...详情>>
2023-11-10 19:11:50
pythonTCP与UDP的不同点分析
python中TCP与UDP的不同点分析(推荐操作系统:windows7系统、Python3.9.1、DELLG3电脑。)1、不同点面向连接(确认有创建三方交握,连接已创建才...详情>>
2023-11-10 18:16:05热门推荐
技术干货






