Python 以增量向图像添加噪波

Python 以增量向图像添加噪波,python,image,noise,Python,Image,Noise,您好,我正在尝试向我创建的QR图像添加噪声,这是我目前的代码: import numpy import scipy import scipy.misc import sys sys.path.append('M:/PythonMods') import qrcode if __name__ == "__main__": myqr = qrcode.make("randomtexxxxxxxxxt") #myqr.show() myqr.save("M:/COMPUTIN

您好,我正在尝试向我创建的QR图像添加噪声,这是我目前的代码:

import numpy
import scipy
import scipy.misc
import sys
sys.path.append('M:/PythonMods')
import qrcode

if __name__ == "__main__":
    myqr = qrcode.make("randomtexxxxxxxxxt")
    #myqr.show()
    myqr.save("M:/COMPUTINGSEMESTER2/myqr4.png") 


filename = 'myqr4.png'

imagea = (scipy.misc.imread(filename)).astype(float)

poissonNoise = numpy.random.poisson(50,imagea.shape).astype(float)

noisyImage = imagea + poissonNoise
请有人告诉我如何让它显示嘈杂的图像?如何保存图像以便我可以测试它

非常感谢您的帮助

编辑

我尝试将此代码添加到程序中以使其显示图像:

from PIL import Image
myimage = Image.open(noisyImage)
myimage.load()
但后来出现了这个错误:

回溯(最近一次呼叫最后一次):
文件“M:\COMPUTINGSEMESTER2\untitled4.py”,第28行,在
myimage=Image.open(noiseimage)
文件“Q:\PythonXY273\u MaPS-T.v01\Python27\lib\site packages\PIL\Image.py”,第1958行,处于打开状态
前缀=fp.read(16)
AttributeError:'numpy.ndarray'对象没有属性'read'

图像。打开
需要图像文件作为参数,请使用
图像。fromarray

im = Image.fromarray(noisyImage)
im.save("myFile.jpeg")
您也可以使用
matplotlib
模块直接显示图像:

import matplotlib.pyplot as plt
plt.imshow(noisyImage) #Needs to be in row,col order

Image.open
需要图像文件作为参数,请使用
Image.fromarray

im = Image.fromarray(noisyImage)
im.save("myFile.jpeg")
您也可以使用
matplotlib
模块直接显示图像:

import matplotlib.pyplot as plt
plt.imshow(noisyImage) #Needs to be in row,col order

感谢您的回复,当我包含上述内容时,它会这样说:name错误:name‘image_array’未定义只需将名称更改为您创建的数组的名称,即,
noisyImage
感谢您的回复,当我包含上述内容时,它会这样说:name错误:name‘image_array’未定义只需将名称更改为您创建的数组的名称,即
noisyImage
感谢您帮助保存图像。我不确定下一部分,我想显示更改后的图像,矩阵是什么?再次感谢你的帖子:im=Image.fromarray(noisyImage)im.show(noisyImage),它成功了!!我很惊讶有些东西真的能起作用!!它不会把噪音放在图像附近的任何地方,但它可以处理。谢谢你的帮助@user2956523很乐意帮忙;)感谢您帮助保存图像。我不确定下一部分,我想显示更改后的图像,矩阵是什么?再次感谢你的帖子:im=Image.fromarray(noisyImage)im.show(noisyImage),它成功了!!我很惊讶有些东西真的能起作用!!它不会把噪音放在图像附近的任何地方,但它可以处理。谢谢你的帮助@user2956523很乐意帮忙;)