代码:
#!/usr/bin/python
# -*- coding:utf8 -*-
from cv2 import *
import numpy
'''实现卷积运算'''
def ImgConvolve(input,kernel):
'''获取图片和卷积核的宽高'''
WImg = input.shape[0]
HImg = input.shape[1]
Wkernel = kernel.shape[0]
Hkernel = kernel.shape[1]
AddW = (Wkernel-1)/2
AddH = (Hkernel-1)/2
'''在原图的宽高外侧分别扩充卷积核的一半'''
ImgTemp = numpy.zeros([WImg + AddW*2,HImg + AddH*2])
'''将原图拷贝到临时图片的中间'''
ImgTemp[AddW:AddW+WImg,AddH:AddH+HImg] = input[:,:]
'''初始化一张同样大小的图片作输出的图片'''
output = numpy.zeros_like(a=ImgTemp)
'''将扩充图和卷积核做卷积运算'''
for i in range(AddW,AddW+WImg):