以增量为图像添加噪声

时间:2014-01-30 15:44:36

标签: 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:/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()

但后来出现了这个错误:

Traceback (most recent call last):
  File "M:\COMPUTINGSEMESTER2\untitled4.py", line 28, in <module>
    myimage = Image.open(noisyImage)
  File "Q:\PythonXY273_MaPS-T.v01\Python27\lib\site-packages\PIL\Image.py", line 1958, in open
    prefix = fp.read(16)
AttributeError: 'numpy.ndarray' object has no attribute 'read'

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

scipy.misc.imsave('NoisyImage.jpg', noisyImage)