群馬県でPythonを使ったAIやシステムを開発しているファントム

Navigation
群馬県でPythonを使ったAIやシステムを開発しているファントム

群馬県でPythonを使ったAIやシステムを開発しているファントムです。企業の経営課題を最適なテクノロジーで解決します。テックブログではPythonを中心にプログラミングに役立つ情報を発信しています。

投稿を検索する


  • 株式会社ファントム コーポレートサイト

カテゴリー



  • AWS 16
  • Django 45
  • FastAPI 4
  • Flask 8
  • GCP 1
  • Information 37
  • Other 32
  • PHP 2
  • Python 93
  • Pythonista 3
  • Rust 1

タグ


Alembic API argparse Beautiful Soup black Channels charset CodeCommit datetime Django REST framework Docker enumerate f-string git GitHub glob Google Colaboratory i18n IAM Internship Jupyter Lambda Matplotlib Nginx OpenCV pandas PIL Pillow PostgreSQL PyCharm PyCon pyenv PyTorch Redis Rembg ReportLab requests S3 Sentry slack tqdm uWSGI venv Vue.js youtube
このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシーと利用規約が適用されます。

© 2022 Fantom, Inc.

Hydra WordPress Theme by EckoThemes.

Published with WordPress.

Related Articles

Filter by Category

  • Python(93)
  • Django(45)
  • Information(37)
  • Other(32)
  • AWS(16)
  • Flask(8)
  • FastAPI(4)
  • Pythonista(3)
  • PHP(2)
  • GCP(1)
  • Rust(1)

Filter by Author

  • EIGHT (14)
  • hayai017 (2)
  • press (196)
Back to Latest Articles
Python

Rembgで画像から背景を削除

Rembgで画像から背景を削除 先日、SNSで見た画像の背景を削除して切り抜くPythonのライブラリを見つけたので早速試してみました。普段業務で画像の背景を処理することも多くソフトを使って背景を削除していたので、Pyt […]

Posted on 23rd 10月 2022 by press

Other

競艇で試したこと

競艇で実装した戦略を紹介します。 1着率を正規化 まず試したのはそれぞれの選手の1着率を全試合から計算してそれをその試合ごとに正規化する方法です。 期待値はオッズと確率の積で表せるので、確率を計算することで相対的にどの券 […]

Posted on 3rd 10月 2022 by EIGHT

Python

MacにGoProをウェブカメラとして認識させてOpenCVで使う

MacにGoProをウェブカメラとして認識させてOpenCVで使う MacとGoProを繋ぎ、GoProをウェブカメラとして認識させてOpenCVに映像を入力します。今回は映像を取り込んで画面に表示するだけですが、Pyt […]

Posted on 1st 10月 2022 by press

Python

Raspberry PiにInsightFaceをインストールできなかった

Raspberry PiにInsightFaceをインストールできなかった 顔検出や顔認証、属性判定ができるInsightFaceというライブラリを使ってRaspberry Piで属性判定に挑戦しましたが、結果的にRas […]

Posted on 21st 9月 2022 by press

Python

WindowsでPythonの仮想環境を構築

WindowsでPythonの仮想環境を構築 Pythonで開発するときはMac版のPyCharmを使用しているので仮想環境も自動でPyCharmが構築してくれるのですが、Apple SiliconのMacでは動かないラ […]

Posted on 20th 9月 2022 by press

AWS

AWSで追加したユーザのMFAに1Passwordを設定

AWSで追加したユーザのMFAに1Passwordを設定 AWSのコンソールにログインする際にMFA(Multi-Factor Authentication)という多要素認証を設定することで、メールアドレスとパスワードに […]

Posted on 14th 9月 2022 by press

Python

iPhoneで撮影した写真をPythonでpngに変換

iPhoneで撮影した写真をPythonでpngに変換 iPhoneで撮影した写真はHEICという拡張子で保存されます。この画像を利用したり編集したりするにはpngなどの形式に変換が必要なので画像が大量にある場合は1枚1 […]

Posted on 5th 9月 2022 by press

Python

Appleシリコン搭載MacのDocker環境でTensorflowを使う

Appleシリコン搭載MacのDocker環境でTensorflowを使う Intel搭載のMacで作成したTensorflowを使ったプロジェクトを移して、M1やM2などのAppleシリコンを搭載しているMacでTen […]

Posted on 30th 8月 2022 by press

Python

PythonでYouTubeの動画をダウンロード

PythonでYouTubeの動画をダウンロード YouTubeの動画をPythonでダウンロードします。今回使うyt-dlpはyoutube-dlのフォークで、youtube-dlよりもダウンロード速度が高速です。Py […]

Posted on 7th 8月 2022 by press

Python

Pythonでjpgやpng画像をwebpに一括変換

Pythonでjpgやpng画像をwebpに一括変換 ウェブサイトで使用される画像に画質を保ったまま軽量化できるWebサイト向けの次世代画像フォーマットのwebpを利用するケースが増えていますが、サイト内で使われている画 […]

Posted on 7th 8月 2022 by press

Other

Apple silicon Macでmxnetを使えるようになるまで

Apple silicon Macでmxnetを使えるようになるまで エラーが発生したのでpip install mxnet-mkl/mxnet-cu90mkl --preしたところ以下のエラーが発生 エラーの中に上の内 […]

Posted on 26th 7月 2022 by press

Other

Gitで別のブランチから特定のファイルorディレクトリをチェックアウト

Gitで別のブランチから特定のファイルorディレクトリをチェックアウト 複数人での開発や細かくブランチを作って開発していると、別ブランチの一部分だけを今のブランチに取り込みたいということがあります。マージだと取り込みたく […]

Posted on 5th 7月 2022 by press

Python

サッカーコートの白線を抽出する

次のようなサッカーコートの白線の部分を線分としてを抽出したい。 まず考えたのは、緑色か否かで判定して白黒画像にすることだ。白黒画像にすることで、線をより明確に可視化させることができ、その後エッジだけ抽出して線分判定をすれ […]

Posted on 14th 6月 2022 by EIGHT

Python

pyenvでインストールしたPythonのバージョンを更新する

pyenvでインストールしたPythonのバージョンを更新する pyenvで最新のPythonをインストールしようとしたところ、pyenvのバージョンが古く最新のバージョンがリストになかったので、pyenvをアップデート […]

Posted on 14th 6月 2022 by press

Django

DockerとDjangoでマイグレーションコマンドを実行するとエラーになる

DockerとDjangoでマイグレーションコマンドを実行するとエラーになる Docker環境で構築したDjangoプロジェクトでマイグレーションコマンドを実行した際に、docker-compose.ymlとsettin […]

Posted on 13th 6月 2022 by press

Other

GitHubのイシューとPyCharmのタスクを連携

GitHubのイシューとPyCharmのタスクを連携 GitHubのイシューとPyCharmのタスクを連携させて、GitHubのイシューをPyCharmに表示させる設定方法です。画面を切り替えなくても追加されたGitHu […]

Posted on 2nd 6月 2022 by press

Python

BERT+UMAPを実装した

https://shuhoyo.hatenablog.com/entry/nogizaka46-lyrics-nlp 上記サイトを参考にBERT+UMAPを実装してみた。 BERTとは BERTとは自然言語処理の1手法の […]

Posted on 31st 5月 2022 by EIGHT

Django

DjangoでPOSTとGETを組み合わせたパラメータでリダイレクト

DjangoでPOSTとGETを組み合わせたパラメータでリダイレクト DjangoでPOSTを使ったリダイレクトはよく事例が見つかりますが、POSTとGETを組み合わせたURLにリダイレクトさせる情報があまりなかったので […]

Posted on 30th 5月 2022 by press

Python

WordCloudを導入した

WordCloudとは 文章に頻出する単語を抽出して画像に出力するシステムのこと。 実装について 形態素分析 まず形態素分析する必要がある。最新の形態素分析はJUMAN++なのでそれを導入すべし。 インストールするのは簡 […]

Posted on 24th 5月 2022 by EIGHT

Django

PyCharmでPostgreSQLをGUIから操作する設定

PyCharmでPostgreSQLをGUIから操作する設定 PyCharmでDjangoのPostgreSQLをGUIで操作するための設定方法です。Djangoには管理サイトが用意されていますが、プログラムの実行中にデ […]

Posted on 10th 5月 2022 by press

View Latest Posts
Python

Rembgで画像から背景を削除


press
Rembgで画像から背景を削除
Posted on 23rd 10月 2022 by press
2024年度 インターンシップ 募集開始

Rembgで画像から背景を削除

先日、SNSで見た画像の背景を削除して切り抜くPythonのライブラリを見つけたので早速試してみました。普段業務で画像の背景を処理することも多くソフトを使って背景を削除していたので、Pythonで背景を削除できたら自動化できそうだなと思いました。

試しに今回はルービックキューブと泡盛の瓶の背景を削除してみましたが、Photoshopなどの画像編集ソフトを使って背景を削除したのと変わらない(言われても分からない)クオリティで背景を削除できました。実行時間も一枚あたり数秒で完了するので、大量の画像を処理するときはソフトを使うよりもこのライブラリを使ったほうが大幅に時間短縮が可能です。

GitHubにあるサンプルコードは画像を指定して一度に一枚しか背景処理ができませんが、変更を加えてフォルダ内の全画像をまとめて背景を削除できるようにしました。その際に進捗が分かるようにtqdmで処理の進捗を表示させています。

ルービックキューブの背景処理

ルービックキューブ
ルービックキューブ(背景処理)

波照間島の幻の泡盛「泡波」の背景処理

泡波
泡波(背景処理)

開発環境

PC: MacBook Pro (14, 2021)
OS: macOS Monterey 12.0.1
Python: 3.9.1

背景削除のコード

import glob

from tqdm import tqdm
from rembg import remove
from PIL import Image

ORIGINAL_DIR = "original/"
OUTPUT_DIR = "convert/"

lst = glob.glob(ORIGINAL_DIR + "*")
for i, l in enumerate(tqdm(lst)):
    input = Image.open(l)
    output = remove(input)
    output.save(OUTPUT_DIR + l.split('/')[1])

解説

import glob
from tqdm import tqdm
from rembg import remove
from PIL import Image
ライブラリをインポート

ORIGINAL_DIR = "original/"
OUTPUT_DIR = "convert/"
背景を切り抜く画像を入れるフォルダと切り抜いた画像を保存するディレクトリ名を指定

lst = glob.glob(ORIGINAL_DIR + "*")
背景を切り抜く画像を取得(*でORIGINAL_DIR内の全ファイルを指定)

for i, l in enumerate(tqdm(lst)):
リストで取得した全データを一件づつ処理
tqdmで処理の進捗を表示

input = Image.open(l)
画像を開く

output = remove(input)
画像の背景を削除

output.save(OUTPUT_DIR + l.split('/')[1])
背景を削除した画像を保存(splitで/の後の画像名を保存する画像名に指定)

ファントムYouTubeチャンネル

株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    press
    • enumerate
    • Pillow
    • Rembg
    • tqdm
    • Share Article:
    • Twitter
    • Facebook
    • Pinterest
    • LinkedIn
    • Reddit

    Related Articles

    Python

    PyCharmで.envから環境変数を読み込む

    PyCharmで.envから環境変数を読み込む 環境変数を.envに書いて読み込ませる理由 Pythonの開発では、セキュリティや環境毎の設定、柔軟性などの理由から.envファイルに環境変数を書いて読み込ませる方法が推奨 […]

    Posted on 1st 3月 2023 by press
    Django

    Djangoで日本語文字列のQuerySetを五十音順でソートする

    DjangoのWEBアプリケーションでQuerySetの表示順を五十音順にしたら、開発環境では五十音順で表示されているのに本番環境では五十音順になっていないときの対処法です。(中途半端に五十音順になっていて、4、5件毎に […]

    Posted on 22nd 4月 2019 by press