2016-09-10 16 views
0

初心者がここに来ます。 私は(ノイズを加えるように)ランダムRGB-色の画素のいくつかの数を置くことを試みた:randomenter=100PILでピクセルを置くと、エラー

from PIL import Image 
import random 
img=Image.open('pic.bmp') 
randomenter=int(input('Enter numpix: ')) 
for numpix in range(0, randomenter): 
    x=random.randint(0,int(img.size[0])) 
    y=random.randint(0,int(img.size[1])) 
    r=random.randint(0,255) 
    g=random.randint(0,255) 
    b=random.randint(0,255) 
    img.putpixel((x,y),(r,g,b)) 
img.show() 

それは時々働きます。値を大きくするとエラーになります:

Traceback (most recent call last): 
    File "D:\study\7sem\GiMS\labs\1laba\123.py", line 11, in <module> 
    img.putpixel((x,y),(r,g,b)) 
    File "C:\Python34\lib\site-packages\pillow-3.3.1-py3.4-win-amd64.egg\PIL\Image.py", line 1512, in putpixel 
    return self.im.putpixel(xy, value) 
IndexError: image index out of range 

私は間違っていますか? (800, 500)値Ł[email protected]投稿方法

+3

を編集することで解決します。 xとyの上限は 'img.size [n] -1'でなければなりません。 –

+0

@ŁukaszRogalskiそれは動作します – lwwwr

答えて

0

と picが、それはrandom.randint`は端点を含む `xyimg.size[0]-1へとimg.size[1]-1

関連する問題