sipsにはICCカラープロファイルを画像に埋め込んだり、別のプロファイルに変換したりするオプションがある。
参考: 【sips】コマンドで画像のプロパティ情報を確認する
-eでプロファイルを埋め込む
-e <プロファイルファイル>(--embedProfile)で、指定したICCプロファイルを画像に埋め込む。macOSには/System/Library/ColorSync/Profiles/配下に標準のICCプロファイルが用意されている。
$ sips -g profile photo.png
/path/to/photo.png
profile: <nil>
$ sips -e "/System/Library/ColorSync/Profiles/AdobeRGB1998.icc" photo.png --out embedded.png
$ sips -g profile embedded.png
/path/to/embedded.png
profile: Adobe RGB (1998)
-Eで既にプロファイルがある場合はそのままにする
-E <プロファイルファイル>(--embedProfileIfNone)は、画像にプロファイルが埋め込まれていない場合のみ指定したプロファイルを埋め込む。既にプロファイルがある画像には何もしない。
$ sips -E "/System/Library/ColorSync/Profiles/Display P3.icc" embedded.png --out embedded2.png
$ sips -g profile embedded2.png
/path/to/embedded2.png
profile: Adobe RGB (1998)
embedded.pngには既にAdobe RGB (1998)が埋め込まれているため、-Eで指定したDisplay P3には変わらない。
-mで別のプロファイルに変換する
-m <プロファイルファイル>(--matchTo)は、画像の色を指定したプロファイルの色空間に変換する。-e/-Eがプロファイル情報を書き換えるだけなのに対し、-mは実際の色変換(カラーマッチング)を行う。
$ sips -m "/System/Library/ColorSync/Profiles/Display P3.icc" embedded.png --out matched.png
$ sips -g profile matched.png
/path/to/matched.png
profile: Display P3
プロファイルを削除する挙動は環境によって異なる可能性がある
-d profile(--deleteProperty profile)や--deleteColorManagementPropertiesでプロファイル情報を削除できるとされているが、検証環境(macOS 26.6.2)では実際に試すと予想と異なる挙動になった。
$ sips --deleteColorManagementProperties embedded.png --out deleted.png
$ sips -g profile deleted.png
/path/to/deleted.png
profile: Adobe RGB (1998)
--deleteColorManagementPropertiesを実行してもprofileはAdobe RGB (1998)のまま変化しなかった。-d profileを試した場合も、埋め込まれていたプロファイルの代わりにsRGB IEC61966-2.1が新たに設定され、プロファイルが完全に無い状態(<nil>)にはならなかった。これはsipsが画像を書き出す際にデフォルトでsRGBプロファイルを付与するためとみられる。プロファイルを完全に取り除きたい場合は、期待通りに動作するか事前に検証環境で確認した方がよい。
