2017-10-09 14 views
1

파이썬 ImageMagick 바인딩에서 ICC를 사용하여 RGB 이미지를 CMYK로 변환 할 수 있습니까? 나는 당신이 명령 행에서 그것을 쉽게 할 수 있다는 것을 알고 있지만, Wand와 같은 구속 (Wand)에서 그것을 할 수있는 방법이 있습니까? 내가 지금 가지고있는 것 :ImageMagick - 파이썬에서 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

내가 지팡이에 전문가가 아니지만, 내가 https://media.readthedocs.org/pdf/wand/latest/의 지팡이 문서의 프로파일에 대해 아무것도 표시되지 않습니다 사용해보십시오 wand.pdf. 하지만 Imagemagick에 대한 서브 프로세스 호출을 Python으로 직접 변환 할 수 있다고 가정합니다. 예 : https://stackoverflow.com/questions/40281613/call-imagemagicks-convert-command-in-python-script를 참조하십시오. 그러나 변환 명령에는 입력 이미지에 CMYK 프로필이 있는지 여부에 따라 하나 또는 두 개의 프로필이 필요할 수 있습니다. – fmw42

+0

파이썬에 대해서는 거의 알지 못하지만 투명도를 지원하지 않는 JPG의 알파를 켜는 것은 잘못된 것처럼 보입니다. 또한'img = img.colorspace = 'cmyk''는 뒤틀린 것처럼 보입니다. 어쩌면 알파를 검은 색으로 사용하고 있을까요? –

+0

EXIFTOOL을 사용하여 서브 프로세스 호출을 사용하여 프로파일을 추가 할 수도 있습니다. 예를 들어, https://stackoverflow.com/questions/6740441/how-to-set-a-color-profile-with-exiftool – fmw42

답변

0

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