Python矩阵卷积,不使用numpy.convolve或scipy等效函数

Python矩阵卷积,不使用numpy.convolve或scipy等效函数,python,arrays,numpy,matrix,convolution,Python,Arrays,Numpy,Matrix,Convolution,我需要在不使用任何内置函数的情况下编写矩阵卷积。我正在拍摄一张图像并将其转换为灰度,然后我应该在其上传递一个滤波器矩阵。我必须使用的过滤矩阵之一是: [[-1,0,1], [-1,0,1], [-1,0,1]] 我知道卷积是如何工作的,我只是不知道如何用代码来应用卷积。下面是我用来获取灰度数组的代码: import numpy from scipy import misc mylist = [] for i in myfile: mylist.append(i) for i in m

我需要在不使用任何内置函数的情况下编写矩阵卷积。我正在拍摄一张图像并将其转换为灰度,然后我应该在其上传递一个滤波器矩阵。我必须使用的过滤矩阵之一是:

[[-1,0,1],
[-1,0,1],
[-1,0,1]]
我知道卷积是如何工作的,我只是不知道如何用代码来应用卷积。下面是我用来获取灰度数组的代码:

import numpy
from scipy import misc
mylist = []
for i in myfile:
    mylist.append(i)

for i in mylist:
    q = i
    print(q)
    image = misc.imread(q[0:-1])
    threshold()
image = misc.imread('image1.png')


def averageArr(pixel): #make the pixel color values more realistic
    return 0.299*pixel[:,:,0] + 0.587*pixel[:,:,1] + 0.114*pixel[:,:,2]

def threshold():
    picture = averageArr(image)
    for i in range(0,picture.shape[0]): #begin thresholding 
        for j in range(0,picture.shape[1]):
            myList.append(i,j)
    misc.imsave('image1.png') #save the image file

我从函数中获取值,并将它们添加到一个列表中,然后我应该遍历该列表,但我不确定如何执行该操作。我可以使用scipy和numpy读取和排列矩阵,但实际的卷积函数必须编写。

但这不是问题,是吗?嗨,我的问题是如何用过滤器卷积矩阵。我不知道如何将其应用于图像生成的矩阵中的每个像素。请查看Cython文档。对于您的作业,最好忽略Cython位,但本教程从2d卷积的普通Python实现开始:“我需要编写矩阵卷积,而不使用任何内置函数来帮助。”-->为什么内置函数不可用?内置函数不可用,因为这是我的机器人学课程的作业,他希望我们从头开始。我已经在纸上做了很多练习,但是我在让迭代为矩阵中的每个值工作时遇到了问题。这门课程的概念很重,编码教学也很轻。