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实现开始:“我需要编写矩阵卷积,而不使用任何内置函数来帮助。”-->为什么内置函数不可用?内置函数不可用,因为这是我的机器人学课程的作业,他希望我们从头开始。我已经在纸上做了很多练习,但是我在让迭代为矩阵中的每个值工作时遇到了问题。这门课程的概念很重,编码教学也很轻。