0

次のように、画像にガウスノイズを適用するためにpythonでプログラムを実行しました。入力画像は:

ここに画像の説明を入力

from PIL import Image
from math import *

import numpy

list1 = []
list2 = []

im = Image.open("313.JPG")
im.show()
list1 = list(im.getdata())

length = len(list1)
total = 0
for i in list1:
    total = total + i
mean = total /length  #mean
sd = numpy.std(list1) #standard deviation
print "mean is %d" %(mean)
print "sd is %d" %(sd)
for i in list1:
    g = (1/(sd * sqrt(2*pi)))*(exp(-((i - mean)**2)/(2*(sd**2)))) #gaussian 
    list2.append(g)
im.putdata(list2)
im.save('q4.jpg')             
im.show()

しかし、画像にノイズが入るのではなく、完全に暗い画像が表示されます。助けてください。以下の画像が出力されることを期待しています。 ここに画像の説明を入力

4

2 に答える 2

0
from PIL import Image
from math import *
import numpy

list1 = []
im = Image.open("313.JPG")
im.show()
list1 = list(im.getdata())
length = len(list1)

# generate random noise data with mean 0 and sd 10
list2 = numpy.random.normal(0, 10, length)
# Add this to the image data
list3 = list1+list2

im.putdata(list3)
im.show()

ノイズを加えた結果

于 2014-03-30T14:24:58.047 に答える