본문 바로가기
파이썬

파이썬 TypeError: integer argument expected, got float when converting an image to greyscale

by º기록 2020. 11. 25.
반응형

다음 코드를 사용하여 컬러 이미지를 회색조 이미지로 변환하고 있습니다. TypeError 가 발생하는 이유는 무엇입니까?

#!/usr/bin/python
from PIL import Image
im = Image.open("Penguins.jpg")
pixel = im.load()
width, height = im.size
for x in range(width):
    for y in range(height):
        R,G,B = pixel[x,y]
        pixel[x,y] = ((0.299*R+0.587*G+0.114*B),(0.299*R+0.587*G+0.114*B),(0.299*R+0.587*G+0.114*B))

im.save("Penguins_new.jpg")

 

해결 방법

 

pixel [x, y] 에 전달하는 인수는 float 가 아니라 int 여야합니다. 정수로 캐스팅 해보십시오.

pixel[x, y] = ((int(0.299*R) + int(...

 

참조 페이지 https://stackoverflow.com/questions/29568598

 

 

반응형

댓글