MENU

【無料&一括】AIで画像の背景透過!フリーで簡単にできる方法とツール

画像の背景の透過を無料でやりたい!できれば全ての画像を1回で全て!
このように思ったことは無いでしょうか。

AIで稼ぐ系の場合、ラインスタンプだったり、画像素材で稼ぐ(adobe stock,や素材サイト)、suzuriなど、背景の透明化が必要になる事があります。

私も無料でどうにか簡単に一瞬で透過できないものかと色々と調べてみたのですが、無料だと回数制限、もしくはgimpや何かの画像ソフトで手動で行わなければならない。

大体、有料だったりします。
でも、「AI×稼ぐ」これをチャレンジしている人(私)は、chatgptやvrewなどに課金していて、これ以上課金したくない人も多いと思います。

そこで、背景透過を何十枚も自動で数十秒(PCの性能次第)で出来るツールを作成してみました。
知識0で簡単に作れたので、無料で公開したいと思います。

ただ、この背景透過のプログラムを使うにあたり、ご自身のPCで使える環境を構築しなければなりません。

また、透過の精度が完璧ではないため、時々うまく処理できないこともあります。特に、画像に文字を入れてしまうと、文字まで透過されてしまうことがありますので、その点もご注意ください。

最初はPCアプリやスマホアプリで作れたらと思っていたのですが、少し難しくて今は保留中です。いずれはWindowsアプリとしても提供できるようにしたいと思っています。

*.exeファイル化に成功したので、Pythonインストールとcmd不要です。「Pythonインストール不要で、Windowsで簡単に起動できる背景透過ツール(.exeファイル)を作成!」の見出しのところから見ていただければと思います。自分でPythonコードを実行できる方は、そのまま次の見出しのやり方やコードをコピペして使ってください。)

今回ご紹介するのは、Pythonを使って簡単に作った「一括背景透過ツール」です。コマンドプロンプト(cmd)を使って実行します。

✅ このツールの特徴
💡 完全無料! 課金なしで無制限に使える
💡 一括処理OK! 何十枚もの画像を一瞬で透過
💡 AIが自動処理! 透過作業は完全に自動化
💡 PCの性能次第で高速化! 高スペックPCなら数十秒で完了
💡 低スペックPCでも動作OK! CPUだけでも処理可能

PCにPython環境を整える必要がある(でも初心者でも簡単!)

目次

このツールを使う上での環境構築方法

このツールを使うには、まずPython環境を整える必要があります。初心者でも簡単にセットアップできるので安心してください!以下の手順に従って、Pythonのインストールと必要なライブラリの導入を行ってください。

✅ ① Pythonをインストール

まずはPythonが必要です。
持っていない場合は、Python公式サイト から最新版をダウンロード&インストールしてください。

📌 インストール時のポイント
「Add Python to PATH」にチェックを入れる
「Install Now」をクリック

確認方法(コマンドプロンプトで実行)

python --version

Python 3.x.x と表示されればOK!

✅ ② 必要なライブラリをインストール

以下のコマンドを実行して、背景透過に必要なライブラリをインストールします。

pip install rembg opencv-python pillow tqdm onnxruntime onnxruntime-gpu

📌 ライブラリの役割

ライブラリ名役割
rembgAIで背景透過
opencv-python画像処理(リサイズ・ぼかし補正)
pillow画像の開閉・保存
tqdm進捗バー(処理状況を表示)
onnxruntimeCPU用の高速処理ライブラリ
onnxruntime-gpuGPUを使った高速処理

このセットアップで、低スペックPCでも動作可能!

💻 2. 背景透過ツールのPythonコード

以下のコードをコピーして remove_bg.py というファイル名で保存してください。

import os
import sys
import zipfile
import rembg
import cv2
import numpy as np
from tqdm import tqdm
from PIL import Image

# ========== 設定 ==========
OUTPUT_ZIP = "output_transparent.zip"  # 出力ZIPファイル
TEMP_INPUT = "temp_images"  # 解凍フォルダ
TEMP_OUTPUT = "output_images"  # 透過後の画像フォルダ
# ==========================

# 📌 1️⃣ ZIPファイルを解凍
def unzip_images(input_zip, output_folder):
    os.makedirs(output_folder, exist_ok=True)
    with zipfile.ZipFile(input_zip, 'r') as zip_ref:
        zip_ref.extractall(output_folder)
    print(f"✅ ZIPファイル {input_zip} を解凍しました!")

# 📌 2️⃣ WebP を PNG に変換(もし WebP の場合)
def convert_webp_to_png(image_path):
    if image_path.lower().endswith(".webp"):
        img = Image.open(image_path).convert("RGBA")  # RGBA に変換
        new_path = image_path.replace(".webp", ".png")
        img.save(new_path, "PNG")
        os.remove(image_path)  # WebP を削除
        return new_path
    return image_path

# 📌 3️⃣ 画像の背景を透過
def process_images(input_folder, output_folder):
    os.makedirs(output_folder, exist_ok=True)

    # 画像一覧を取得
    images = [f for f in os.listdir(input_folder) if f.endswith((".png", ".jpg", ".jpeg", ".webp"))]

    for filename in tqdm(images, desc="🔄 背景透過中"):
        input_path = os.path.join(input_folder, filename)
        output_path = os.path.join(output_folder, filename.replace(".jpg", ".png").replace(".webp", ".png"))

        # WebP なら PNG に変換
        input_path = convert_webp_to_png(input_path)

        # 画像を開く & 背景透過
        with open(input_path, "rb") as inp_file:
            img = inp_file.read()
            output = rembg.remove(img)

        # 透過画像を保存
        with open(output_path, "wb") as out_file:
            out_file.write(output)

        # 📌 追加処理:ギザギザ補正(ぼかし)
        img_cv = cv2.imread(output_path, cv2.IMREAD_UNCHANGED)
        if img_cv is not None and img_cv.shape[-1] == 4:  # 透過画像 (RGBA)
            alpha = img_cv[:, :, 3]  # アルファチャンネル
            blurred_alpha = cv2.GaussianBlur(alpha, (5, 5), 0)  # ぼかし処理
            img_cv[:, :, 3] = blurred_alpha  # アルファチャンネルを更新
            cv2.imwrite(output_path, img_cv)  # 保存

    print("✅ すべての画像の背景透過が完了しました!")

# 📌 4️⃣ 透過後の画像をZIP圧縮
def zip_images(output_folder, output_zip):
    with zipfile.ZipFile(output_zip, 'w') as zipf:
        for root, _, files in os.walk(output_folder):
            for file in files:
                zipf.write(os.path.join(root, file), file)

    print(f"✅ 透過画像をZIPに圧縮しました! -> {output_zip}")

# 📌 メイン処理
def main():
    # コマンドライン引数から ZIP ファイルを取得
    if len(sys.argv) < 2:
        print("❌ エラー: ZIPファイルを指定してください!")
        print("📝 例: python background_removal.py my_images.zip")
        sys.exit(1)

    input_zip = sys.argv[1]  # ZIP ファイル名
    if not os.path.exists(input_zip):
        print(f"❌ 指定された ZIP ファイルが存在しません: {input_zip}")
        sys.exit(1)

    # 1. ZIPファイルを解凍
    unzip_images(input_zip, TEMP_INPUT)

    # 2. 背景透過処理
    process_images(TEMP_INPUT, TEMP_OUTPUT)

    # 3. ZIPで出力
    zip_images(TEMP_OUTPUT, OUTPUT_ZIP)

    print(f"🎉 すべて完了!{OUTPUT_ZIP} を確認してください!")

# 実行
if __name__ == "__main__":
    main()

📌 3. 背景透過ツールを実行する

  1. 画像を input_images.zip にまとめる
  2. コマンドプロンプトを開く
  3. スクリプトを実行!
   python remove_bg.py

透過後の画像が output_transparent.zip に保存される! 🎉

🎯 まとめ

完全無料&無制限で背景透過が可能!
何十枚もの画像を一括処理できる!
Python初心者でも簡単に実装可能!
低スペックPCでもOK&高性能PCなら爆速!

Pythonインストール不要で、Windowsで簡単に起動できる背景透過ツール(.exeファイル)を作成!

ChatGPTを活用し、画像を一括で透過できる.exeファイルが完成しました!

このツールは、最初にご紹介したPythonコードをベースに構築されていますが、さらに便利なUI(ユーザーインターフェース)を追加しました。これにより、画像を簡単に透過処理できるようになっています。

追加機能:

  • ツールを起動すると、直感的に操作できるUIが表示され、わかりやすく透過処理が行えます。

ただし、このツールが正常に動作するためには、以下の2つのONNXモデルファイルが必要です:

  1. u2net.onnx
  2. isnet-general-use.onnx

これらのモデルファイルは公式に提供されており、このツールの機能にとって不可欠なものです。両方とも信頼性の高い公式ソースから提供されており、安全に使用できます。

ダウンロードリンク:

これら2つのDLしたファイルを、自分のPCの次の場所に配置してください:

  • Cドライブ → ユーザー → [ユーザー名] → .u2net フォルダを作成し、その中にファイルを入れてください。

画像一括透過ツールのダウンロード:

使用方法(インストール不要):

  1. ダウンロードした.zipファイルを解凍してください。
  2. background_removal_gui.exe をデスクトップや任意の場所に配置し、ダブルクリックで実行します。(プログラムが一時ファイルを展開し、必要なライブラリを読み込むため、20秒ほど時間がかかる場合があります。これはPythonベースのアプリを .exe 化した際の特性によるものです)
  • 注意:ウイルスソフトが誤検出する可能性がありますが、誤検出の場合は一時的に除外設定をしてください。

ツールの使い方:

  1. ツールが起動したら、透過処理したい画像を選択します。複数画像を透過する場合は、透過処理したい画像の選択画面で「Ctrl+処理したい画像を1つずつ選択)もしくは、画像をまとめてzipファイルに圧縮してそれを選択する。
  2. 「背景透過を開始」をクリックすると、処理が始まり、output_images フォルダがbackground_removal_gui.exeのある階層(デスクトップやフォルダ)に作成され、そこに透過処理された画像が保存されます。

注意事項:

  • 本ソフトウェア(.exeファイル)は、初めて作成したものであり、エラーや不具合が発生する可能性があります。これらの問題については予めご了承ください。
  • 本ソフトウェアの使用によるいかなる損害や不具合について、製作者は一切の責任を負いません。使用は自己責任で行ってください。
  • 再配布は禁止です。
  • 透過処理の品質についても、現時点では改善の余地があり、完全ではない場合があります。その点についてもご理解いただけると幸いです。

まとめ

今回、初めて自分で画像の透過アプリを作成してみました。正直、知識ゼロからのスタートでしたが、すべてChatGPTに頼って作り上げました。

私はIQが60台で発達障害のASDを持っていますが、22年以上も引きこもりながら、寝食以外PCを触っていたので、普通の人よりちょっとだけ慣れています。それでも、正直言って、ChatGPTを使えば誰でもこのようなアプリは作れると思います。

実際、PCに触ったことがない人を除けば、誰でもこの透過画像処理アプリは作れると思います。というのも、このアプリ自体、非常にシンプルに作られているからです。

とはいえ、透過処理の性能は今ひとつです。ですが、実際、有料のソフトでも似たような結果になることが多いので、大きな違いはないと感じています。それに、一括で画像を透過処理できる無料のソフトや有料サービスは見つけられなかったので、そこはこのChatGPTが作ったプログラムの良いところだと思っています。

これ以上の性能向上や機能追加は私では難しいので、もし興味がある方がいれば、ぜひ挑戦してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次