LoginSignup
3
3

More than 3 years have passed since last update.

Python3.6.xとPillowでカラーモードを一括変換

Last updated at Posted at 2019-09-03

複数画像のうち、カラーモードがCMYKの画像だけを別フォルダにコピーし、RGBに一括変換する

環境・使用アプリなど

  • Mac
  • Python3.6.8
  • Visual Studio Code
  • Pillow

Visual Studio Code とPython機能拡張をインストール

Python3をインストール

anyenv、pyenvを使用してPythonのバージョン管理をする
参照:anyenv、pyenvでPythonバージョン管理、仮想環境作成、仮想環境でIDLE起動(Mac)

今回はPython3.6.8を使用
Python3.7.3では、Pillowをインストールしても「PROBLEMS」に「Unable to import 'PIL'」と表示されて、実行できない。(まだPython3.7.xはPillowに対応していない?)
参考:https://teratail.com/questions/130649

Visual Studio Codeのターミナルで仮想環境を作成し、有効化する

$ cd <仮想環境を作成するディレクトリのパス>
$ python -m venv <仮想環境名>
$ cd <仮想環境名>
$ source bin/activate

Pillowをインストール

$ pip install Pillow

Pythonスクリプトを作成

cmyktorgb.py
import os
from PIL import Image
from PIL import ImageCms
# OS機能のモジュールのインポート
# 画像の読込み、作成などを行うためのImageモジュールのインポート
# カラープロファイルを管理するImageCmsモジュールのインポート

os.makedirs('cmyktorgb-icc', exist_ok=True)
# ディレクトリ'cmyktorgb-icc'を作成

# カレントディレクトリの全画像をループする
for filename in os.listdir('.'):
    if not (filename.endswith('.jpg') or filename.endswith('.jpeg')):
        continue
        #.jpg、.jpeg以外はスキップ

    im = Image.open(filename)
    # イメージを開く
    if im.mode == 'CMYK':
        im = ImageCms.profileToProfile(im, inputProfile, outputProfile, renderingIntent=0, outputMode='RGB')
        im.save(os.path.join('cmyktorgb-icc', filename))

指定するプロファイルのファイルパスは、Macの場合「ColorSyncユーティリティ」を使用して調べることができる
例)
- inputProfile(adobeのカラープロファイル): '/Library/Application Support/Adobe/Color/Profiles/Recommended/USWebCoatedSWOP.icc'
- outputProfile(sRGB IEC61966-2.1):'/System/Library/ColorSync/Profiles/sRGB Profile.icc'

Pythonスクリプトの実行

VS Codeのcmyktorgb.pyを開いた画面で、右クリック(Ctrl+クリック)して表示されたメニューから「Run Python File in
Terminal」を選択して実行する

仮想環境の無効化

$ deactivate

参考

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3