前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【说站】python如何在二维图像上进行卷积

【说站】python如何在二维图像上进行卷积

作者头像
很酷的站长
发布2022-11-23 16:46:32
5760
发布2022-11-23 16:46:32
举报
文章被收录于专栏:站长的编程笔记

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

说明

1、对于二维矩阵,卷积时卷积核由左向右、由上向下滑动,对应位置要求加权和。

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

实例

代码语言:javascript
复制
def my_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))
    for i in range(h):  # 行号
        for j in range(w):  # 列号
            outputs[i, j] = np.sum(np.multiply(inputs[i: i + h1, j: j + w1], kernel))
return outputs

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python如何在二维图像上进行卷积
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档