python怎么在二维图像上进行卷积

发布时间:2021-05-14 15:26:26 作者:小新
来源:亿速云 阅读:218

这篇文章将为大家详细讲解有关python怎么在二维图像上进行卷积,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1、说明

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

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

2、实例

def my_conv2d(inputs: np.ndarray, kernel: np.ndarray):
    # 计算需要填充的行列数目,这里假定mode为“same”
    # 一般卷积核的hw都是奇数,这里实现方式也是基于奇数尺寸的卷积核
    h, w = inputs.shape
    kernel = kernel[::-1, ...][..., ::-1]  # 卷积的定义,必须旋转180度
    h2, w1 = kernel.shape
    h_pad = (h2 - 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 + h2, j: j + w1], kernel))
return outputs

python有哪些常用库

python常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

关于“python怎么在二维图像上进行卷积”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

推荐阅读:
  1. pytorch如何自定义卷积核进行卷积操作
  2. 怎么在python中利用SVD对图像进行压缩

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:python中轮盘赌算法的使用示例

下一篇:动态和静态ip有什么区别

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》