RGB画像をグレースケールに変換しようとしています。私はimage.convert( 'L')を使いたくありません。これは何も変えずに元の画像を表示するだけです。私は画像の色を変える「赤、緑、青= 0,0,0」の行に異なる数字を入れてみましたが、それは私が望むものではありません。PythonでPILを使用してピクセルをグレースケールに変更する
import PIL
from PIL import Image
def grayscale(picture):
res=PIL.Image.new(picture.mode, picture.size)
width, height = picture.size
for i in range(0, width):
for j in range(0, height):
red, green, blue = 0,0,0
pixel=picture.getpixel((i,j))
red=red+pixel[0]
green=green+pixel[1]
blue=blue+pixel[2]
avg=(pixel[0]+pixel[1]+pixel[2])/3
res.putpixel((i,j),(red,green,blue))
res.show()
grayscale(Image.show('flower.jpg'))