Selbst wenn ich jpg mit Python in png konvertierte, konnte ich die Transparenz nicht ändern, also löste ich sie mit Gewalt
Wenn Sie "Python konvertieren JPG in PNG" googeln, wird Pillow angezeigt.
Installieren Sie es wie unten beschrieben, während Sie sich den Beamten ansehen
pip install Pillow
Wenn Sie ein Beispiel mit Bezug auf [hier] schreiben (https://datatofish.com/jpeg-to-png-python/)
jpgToPNG.py
from PIL import Image
#Ein absoluter Pass ist ebenfalls möglich
img = Image.open('input.jpg')
img.save('output.png')
Damit kann PNG erstellt werden. Wenn Sie jedoch eine Quelle schreiben, die die Transparenz ändert, wird eine Fehlermeldung angezeigt. Übrigens kann die Transparenz des mit Farbe konvertierten Bildes richtig eingestellt werden.
Für eine Weile, wenn ich beim Stöhnen gegoogelt wurde
Hinweise zum Umgang mit PNG- und JPG-Bildern
Die obige Seite ist ein Hit Selbst wenn Sie png in jpg konvertieren, kann A von RGBA erhalten bleiben (wird es richtig interpretiert?). Es kann also umgekehrt sein.
Erstellen Sie also eine zu überprüfende Quelle, indem Sie auf die obige Site verweisen
checkPNG.py
from PIL import Image
path_png1 = "output1.png " #Transparenz kann nicht PNG bearbeitet werden
path_png2 = "output2.png " #Transparenz bearbeitbares PNG mit Farbe konvertiert
image = np.asarray(Image.open(path_png1))
print(Image.open(path_png1))
print(image.shape)
image = np.asarray(Image.open(path_png2))
print(Image.open(path_png2))
print(image.shape)
Ergebnis
<PIL.PngImagePlugin.PngImageFile image mode=RGB size=1920x1080 at 0x1762DB300B8>
(1080, 1920, 3)
<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=1920x1080 at 0x176252F92B0>
(1080, 1920, 4)
Natürlich befinden sich PNGs, die nicht bearbeitet werden können, im RGB-Modus.
Jetzt, da wir die Ursache kennen, werden wir sie lösen.
Gemäß Hinweise zum Umgang mit PNG- und JPG-Bildern können Sie den Modus ändern, indem Sie nach open () convert () hinzufügen.
Implementieren Sie also wie folgt
jpgToPNG.py
from PIL import Image
rgba_img = Image.open('input.jpg').convert('RGBA')
rgba_img.save('output.png')
print(rgba_img)
print(np.asarray(rgba_img).shape)
Ergebnis
<PIL.Image.Image image mode=RGBA size=1920x1080 at 0x1CF941EF9E8>
(1080, 1920, 4)
Es gab kein Problem mit dem Ergebnis und ich konnte sicher mit der Transparenz spielen. das ist alles.
Recommended Posts