Gibt es sowieso ein RGB-Bild in ein CMYK-Bild mit ICC in einer Python ImageMagick-Bindung zu konvertieren. Ich weiß du kannst es einfach in der Kommandozeile machen, aber gibt es da eh einen Binding wie Wand (vorzugsweise Wand)? Was ich jetzt habe:ImageMagick - Konvertieren von Bild RGB zu CMYK mit ICC in Python
from wand.image import Image
from urllib.request import urlopen
response = urlopen('https://www.website.com/path/to/image.jpg')
try:
with Image(file=response) as img:
img.type = 'truecolor'
img.alpha_channel = True
img = img.colorspace = 'cmyk'
img.save(filename='converted.jpg')
finally:
response.close()
ergibt das Bild HORRIBLY ungenaue Farben, aber im richtigen Farbraum. Anyway um mit einem Profil zu konvertieren? Vielen Dank.
Ich bin kein Experte für Wand, aber ich weiß nicht, etwas über Profile in der Wand-Dokumentation bei https://media.readthedocs.org/pdf/wand/latest/ Zauberstab.pdf. Aber ich nehme an, Sie könnten einen Improvisationsaufruf direkt an Imagemagick in Python machen. Siehe zum Beispiel: https://stackoverflow.com/questions/40281613/call-imagemagicks-convert-command-in-python-script. Der Konvertierungsbefehl kann jedoch ein oder zwei Profile abhängig davon benötigen, ob das Eingabebild ein CMYK-Profil aufweist oder nicht. – fmw42
Ich weiß wenig über Python, aber das Einschalten von Alpha für ein JPG (das keine Transparenz unterstützt) scheint falsch zu sein. Auch 'img = img.colorspace =' cmyk'' sieht verzerrt aus. Vielleicht verwenden Sie Alpha als Schwarz? –
Sie können auch einen Subprozessaufruf mit EXIFTOOL verwenden, um ein Profil hinzuzufügen. Siehe zum Beispiel https://stackoverflow.com/questions/6740441/how-to-set-a-color-profile-with-exiftool – fmw42