您好我正在尝试为我创建的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'
答案 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)