[PYTHON] Selbst wenn ich jpg in png konvertiert habe, habe ich es geschafft, weil die Transparenz nicht manipuliert wurde

Einführung

Selbst wenn ich jpg mit Python in png konvertierte, konnte ich die Transparenz nicht ändern, also löste ich sie mit Gewalt

Umgebung

Einfach konvertieren

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.

Problem

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.

Lösung

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

Selbst wenn ich jpg in png konvertiert habe, habe ich es geschafft, weil die Transparenz nicht manipuliert wurde
Selbst wenn ich HTML mit boto3 hochgeladen habe, wurde es nicht als HTML erkannt
Das Geräusch von Mr. Tick am Arbeitsplatz ist ... Ich habe es mit dem Code geschafft
Die mit vim bearbeitete Datei war schreibgeschützt, aber ich möchte sie speichern
Ich habe es geschafft, weil der Brauch, eine Zip mit einem Passwort an eine E-Mail anzuhängen und "Ich werde Ihnen das Passwort separat senden" zu sagen, mühsam ist.
Als ich versuchte, eine Socket-Kommunikation mit Raspberry Pi durchzuführen, war das Protokoll anders
Was ich getan habe, als ich wütend war, es mit der Option enable-shared einzufügen
Mit der Docker-Version der Nginx-Einheit war es ein wenig schwierig, eine Flasche zu machen
Ein Anfänger versuchte, eine Strichzeichnung mit einem Kettenmesser zu färben. Ich konnte es schaffen.
(Hinweis) Ich werde ein Django-Tutorial machen. Selbst wenn ich der Seite folge, funktioniert es nicht.
[IOS] GIF-Animation mit Pythonista3. Ich war süchtig danach.
Bei der Pip-Installation wird immer noch eine Warnung zur unsicheren Plattform angezeigt, die ich jedoch nicht ausgeführt habe, da dies problematisch war.
Der Cloud Shell Editor von GCP war mit der Python-Entwicklungsumgebung verstopft, sodass ich es geschafft habe, ihn auf einem freien Grundstück neu zu erstellen.
Aktiviert, um PNG mit Pillow of Python in JPG zu konvertieren
Ich habe GhostScript mit Python ausgeführt, das PDF in Seiten aufgeteilt und es in ein JPEG-Bild konvertiert.
Ich möchte ○○ mit Pandas machen
FBX SDK Welche Fähigkeiten benötige ich, um ein Programm mit Python zu erstellen?
Ich möchte es mit Python Lambda Django machen, aber ich werde aufhören
Als ich versuchte, Python auszuführen, wurde ich zum Microsoft Store übersprungen
Ich habe PySide2 installiert, aber pyside2-uic hat nicht funktioniert, also habe ich es geschafft.
Verwenden Sie Python aus Java mit Jython. Ich war auch süchtig danach.
Was tun, wenn der Chainer (Windows) -Beispielverzeichnis mit WinError 183 beendet wird?
Was tun, wenn bei der Installation von pyenv kein Fehler auftritt?
Was tun, wenn der Server nicht mit dem Runserver python manage.py startet?
Was tun, wenn Sie URL 443 mit pip nicht abrufen konnten?
Die Geschichte, mit der ich mich befasst habe, weil Apache bei AH00144 war
Ich dachte, es sei dasselbe wie Python, und ich war süchtig nach dem Problem, dass der Ruby-Interpreter nicht gestartet wurde.
Als ich in IPython versuchte, den Wert zu sehen, war es ein Generator, also kam ich auf ihn, als ich frustriert war.