TypeError: argument integer erwartet, bekam float beim konvertieren von Bildern in Graustufen
Ich bin mit dem folgenden code konvertiert ein Farbbild in ein Graustufen-Bild. Warum muss es werfen 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")
- Haben Sie sich überlegt, dass Sie auf der Durchreise sind, einen float und nicht integer?
- Ich weiß aber wie soll ich tun, damit es richtig ist?
- Haben Sie einen Blick auf meine Antwort. Es wird sich hoffentlich lösen Ihre Lösung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem argument, dass Sie auf der Durchreise sind
pixel[x, y]
einint
, nicht einfloat
. Versuchen Sie, Gießen Sie es als eine ganze Zahl.int
mitfloat
.__init__()
und weiteren Seiten in der standard-Bibliothek-Dokumentation siehe Konstruktoren. kann Man sicherlich sagen, die Python hat wirft oder, dass es keine Konstruktoren, die Sie jedoch sachlich falsch.