matlab二维图像卷积,两个图像做卷积
说明
1.对于二维矩阵,卷积时卷积核从左到右、从上到下滑动,对应位置需要加权求和。
2.一般图片是RGB三个通道,每个通道都需要卷积,每个通道都是二维矩阵。灰度只有一个通道,卷起来就行了。
实例
defmy_conv2d(输入:np.ndarray,内核:np.ndarray):
#计算需要填充的行数和列数。这里,假设模式是“相同的”
#一般卷积核的hw是奇数,这里的实现也是基于奇数大小的卷积核。
h,w=输入. shape
Kernel=kernel [:3360-1,] [.3360-1] #卷积的定义必须旋转180度。
h1,w1=内核.形状
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))
for range(H): #行号
for range(W): #列号
outputs[i,j]=NP . sum(NP . multiply(inputs[I : I h1,j:j w1],内核))
上面的Returnoutputs是python对二维图像进行卷积的方法。希望对你有帮助。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。