Edited at

PythonのライブラリPillowを使用して複数画像をカラーモード変換(CMYK→RGB)

複数画像の中に画像モードがCMYKのものがあった場合、CMYK画像だけ別フォルダにコピーしてRGBに変換する

(カラープロファイル指定なし)

Python3.6.8 で Pillow(Pythonの画像処理ライブラリ)を使用


venvでpythonの仮想環境を作成し、Pillowをインストールする

venvで仮想環境 test_python を作成

$ python -m venv test_python

仮想環境に移動

$ cd test_python

仮想環境を有効化

$ source bin/activate

Pillowのインストール

$ pip install Pillow

IDLEの起動

$ python -m idlelib.idle


画像モード変換のプログラムを作成して実行する

IDLEの上部メニューから File > New File を選択して新規ファイルを作成し、

以下を記述して名前をつけて保存する「例:cmyktorgb.py」


cmyktorgb.py

import os

from PIL import Image

os.makedirs('cmyktorgb', exist_ok=True)

# カレントディレクトリの全画像をループする
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 = im.convert('RGB')
# 変換したファイルをcmyktorgbフォルダに保存する
im.save(os.path.join('cmyktorgb', filename))


カレントディレクトリにRGBに変換したい画像ファイルを格納し、

cmyktorgb.py ファイルを開き、上部メニュー Run > Run Module を選択して実行すると、

CMYK画像だけRGBに変換され cmyktorgb フォルダに格納される


参考