課題
Macのクイックアクションには標準で「背景を削除」があるのですが、どうも精度が今ひとつです。
画像ファイルの上で、右クリック→クイックアクション、「背景を削除」を選びます。非常に便利です。

普通の写真、動物や人物の映った普通の写真からの、背景削除は綺麗に出来ます。ここまでは問題ないです。

ところが、私は、線だけで描いたイラストをよく使うのですが、その背景削除は、なかなか上手にいきません。下のように、白塗りは不正確、線も不正確です。

ポイント解説:
ということで、これまで、線画イラストを切り抜く方法の、その1、その2と紹介してきましたが、今回は、その3です。Macを使う人にとっては、一番、使いやすいかもしれません。
まず最初に、ChatGPTにスクリプトの記述を依頼します。
以下が、依頼文(プロンプト)です。
プロンプト
MacのAutomator,Python、シェルスクリプト、その他必要な言語を使って、下記フローの記述をお願いします。 1 MacのPDFまたは画像ファイル(pdf png jpg jpeg gif)の上で右クリックしてクイックアクションを起動する。クイックアクション名を”PDFまたは画像から切り抜き画像の生成”とする。 2 PDFファイルはJPG画像に変換して、他はそのままで、画像1とする。 3 画像1から、輪郭線と線だけを元の色(黒色)、不透明で抽出し、それ以外は、完全に透明にした画像(線と輪郭線だけの透過PNG画像)を作成する。注意点として、線の中は中空にせず線の色で塗り埋めること。これをPNG画像2とする。 4 PNG画像2から、線によって閉じた輪郭線(外周線)を検出して、その輪郭線の内側を白塗りにして、白塗り以外の部分を透明にして、PNG画像3を生成する。 5 PNG画像3を下にして、PNG画像2を上にして、重ねて、PNG画像4を生成する。PNG画像4が完成した画像となる。 6 PNG画像4、を読み込んだファイルと同じフォルダに書き込む。ファイル名は”読み込んだファイルのファイル名から拡張子を除いた部分”&”_cropped.png”とする。 7 画像1、PNG画像2、PNG画像3、は削除する。 以上 |
スクリプト
何回か修正、微調整を行なって、正しく処理されるようになったスクリプトの記述は以下です。そのままコピペで使えますが、python3のパスは書き換えてください。Automator、シェルスクリプト、Python3、を利用しています。
Mac Automatorの設定条件: |
クイックアクション ワークフローが受け取る現在の項目:ファイルまたはフォルダ 検索対象:Finder.app シェル:/bin/bash 入力の引き渡し方法:引数として 「シェルスクリプトを実行」を挿入 |
![]() |
結果
このスクリプトを実行します。
PDFまたは画像ファイルの上で右クリックして、クイックアクションから、選択します。

ファイル名の末尾に、_cropped.pngと入ったファイルが出来るので、これをクリックして確認します。

私の個人的な設定ですが、スクリーンショットはPDFで保存するようにしています。その理由は、PDFファイルですと図形や文字などを追記することができ、その追記も後から修正ができるからです。そのため、画像ファイルでもPDFでも、切り抜きができるようにしたかったのです。
以上です。