2017-10-09 67 views
1

Python ImageMagickバインディングでICCを使用してRGB画像をCMYKに変換する方法はありますか?私はあなたがコマンドラインで簡単にそれを行うことができることを知っていますが、とにかくワンド(ワンド)のような拘束でそれをやろうとしていますか?私が今持っているもの:ImageMagick - PythonのICCを使用して画像RGBをCMYKに変換する

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() 

正確な色空間で、正確な色の画像が得られます。とにかくプロファイルを使用して変換するには?ありがとう。

+0

を使用してみてくださいwand.pdf。しかし、Imagemagickへのサブプロセス呼び出しをPythonで直接変換できると思います。たとえば、https://stackoverflow.com/questions/40281613/call-imagemagicks-convert-command-in-python-scriptを参照してください。ただし、変換コマンドには、入力イメージにCMYKプロファイルがあるかどうかによって1つまたは2つのプロファイルが必要な場合があります。 – fmw42

+0

私はPythonについて少し知っていますが、透明性をサポートしていないJPGのAlphaをオンにするのは間違っています。また、 'img = img.colorspace = 'cmyk''は歪んで見えます。多分あなたは黒としてアルファを使用していますか? –

+0

EXIFTOOLを使用してサブプロセス呼び出しを使用してプロファイルを追加することもできます。たとえば、https://stackoverflow.com/questions/6740441/how-to-set-a-color-profile-with-exiftool – fmw42

答えて

0

私はワンドの専門家ではないですが、私はhttps://media.readthedocs.org/pdf/wand/latest/でワンドのドキュメントのプロファイルについては何も表示されないwand.image.Image.transform_colorspace

with Image(file=response) as img: 
    img.transform_colorspace('cmyk') 
    img.save(filename='converted.jpg') 
+0

を参照してください。これは、基本的に 'img.colorspace = 'cmyk' '。それは私が探しているものであるICCプロファイルを使用して変換しません。 – pepper5319

関連する問題