我是第一年的数学学生Marius。
我们收到了一个团队分配,我们必须执行傅立叶变换,然后选择尝试将图像的变换编码为JPEG图像。
为简化我们自己的问题,我们选择仅对灰度图像进行处理。 到目前为止,这是我的代码:
from PIL import Image
import numpy as np
import sympy as sp
#
#ALLEMAAL INFORMATIE GEEN BEREKENINGEN
img = Image.open('mario.png')
img = img.convert('L') # convert to monochrome picture
img.show() #opens the picture
pixels = list(img.getdata())
print(pixels) #to see if we got the pixel numeric values correct
grootte = list(img.size)
print(len(pixels)) #to check if the amount of pixels is correct.
kolommen, rijen = img.size
print("het aantal kolommen is",kolommen,"het aantal rijen is",rijen)
#tot hier allemaal informatie
pixelMatrix = []
while pixels != []:
pixelMatrix.append(pixels[:kolommen])
pixels = pixels[kolommen:]
print(pixelMatrix)
pixelMatrix = np.array(pixelMatrix)
print(pixelMatrix.shape)
现在问题在最后3行中形成。我想尝试将值矩阵转换回以矩阵'pixelMatrix'作为值的图像。 我已经尝试了很多事情,但这似乎是最明显的方法:
im2 = Image.new('L',(kolommen,rijen))
im2.putdata(pixels)
im2.show()
当我使用它时,它只是给我一张正确尺寸的黑色图像。 从矩阵pixelMatrix中的值开始,关于如何获取原始图片的任何想法?
Post Scriptum:我们仍然必须实现转换本身,但这将是无用的,除非我们确定可以将矩阵转换回灰度图像。