python如何在二维图像上进行卷积
- 更新时间:2021-08-03 09:18:33
- 编辑:衡孤丹
给网友们整理相关的编程文章,网友束俊远根据主题投稿了本篇教程内容,涉及到Python相关内容,已被804网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。
参考资料
- Python编程从入门到实践(案例视频版) PDF 电子书 / 80.1 MB / 未来科技 推荐度:
- Python 快速入门 PDF 电子书 / 9.73 MB / 娜奥米·塞德 推荐度:
- Selenium3自动化测试实战:基于Python语言 PDF 电子书 / 99.55 MB / 虫师 推荐度:
- 贝叶斯思维 统计建模的Python学习法 PDF 电子书 / 21.1 MB / Allen B.Downey 推荐度:
- 像计算机科学家一样思考Python PDF 电子书 / 1.9 MB / 艾伦 B. 唐尼 推荐度:
正文内容
本页是码农之家最新发布的《python如何在二维图像上进行卷积》的详细页面,好久没看到这么好的Py技术类文章,把错误代码改掉了,为了方便大家的阅读。
1、说明
对于二维矩阵,卷积时卷积核由左向右、由上向下滑动,对应位置要求加权和。
一般图片为RGB三通道,需要每个通道卷积,每个通道都是二维矩阵。灰度图只有一个通道,直接卷起即可。
2、实例
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 19个值得学习的编程技巧
这篇文章主要介绍了python 19个值得学习的编程技巧,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
发布时间:2021-05-02
-
python简单实例训练(21~30)
上篇文章给大家介绍了python简单实例训练的1-10,这里继续为大家介绍python的一些用法,希望大家每个例子都打出来测试一下
发布时间:2019-08-26