python 图像二维卷积运算
程序员文章站
2022-03-16 11:37:21
...
如题,关于卷积的相关文章自行百度,以下链接是知乎相关知识
https://www.zhihu.com/question/22298352
https://www.zhihu.com/question/20500497
import numpy as np
from scipy import signal,misc
import matplotlib.pyplot as plt
image=misc.ascent()#打开测试二维图像数组,ascent
w=np.zeros((50,50))#全零数组,卷积核;(50*50)的矩阵
w[0][0]=1.0
w[49][25]=1.0
print(w)
image_new=signal.fftconvolve(image,w)#使用ftt算法进行卷积
plt.figure()#打开matplotlib的可视化figure
plt.imshow(image_new)
plt.gray()#灰阶图
plt.title('filtered image')#标题
plt.show()#显示plt
运行结果
如图,图片是500*500的二维数组,卷积核是一个w[0][0]=1.0 w[49][25]=1.0,其余为零的矩阵
在卷积中,这相当于把图形的左上顶角依次添加到图形的底部中心(导致了图片的重影)。图片所有影响到的像素集合在一起就成了这样一张图。