我需要编写矩阵卷积而不使用任何内置函数来提供帮助。我正在拍摄图像并将其转换为灰度图像,然后我应该在其上面传递滤镜矩阵。我必须使用的滤波器矩阵之一是:
[[-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来读取和排列矩阵,但必须编写实际的卷积函数。