群馬県で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で背景を削除した画像を編集して元の画像と再合成 YouTubeにアップロードしたrembgで背景を削除する説明動画にコメントをいただいたので、rembgを使った画像処理の続編です。rembgで背景を削除した画像 […]

Posted on 1st 11月 2022 by press

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

View Latest Posts
Python

rembgで背景を削除した画像を編集して元の画像と再合成


press
rembgで背景を削除した画像を編集して元の画像と再合成
Posted on 1st 11月 2022 by press
2024年度 インターンシップ 募集開始

rembgで背景を削除した画像を編集して元の画像と再合成

YouTubeにアップロードしたrembgで背景を削除する説明動画にコメントをいただいたので、rembgを使った画像処理の続編です。rembgで背景を削除した画像をOpenCVとPillowを使って白黒画像に変換して元の画像と再合成します。

rembgで背景を削除した画像からマスクを作成します。次にオリジナル画像を白黒に変換します。最後に白黒画像に変換した画像をマスク処理(切り抜き)して元の背景と合成します。

白黒画像に変換する部分を左右反転や色調補正などの他の処理に書き換えると表現の幅が広がります。

コードはGitHubリポジトリにあげています。

オリジナル画像
オリジナル画像
マスク
マスク
白黒画像
白黒画像
合成画像
合成画像

開発環境

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

from rembg import remove
from PIL import Image
import cv2


original_img_path = "images/IMG_5358.png"

input = Image.open(original_img_path)
output = remove(input)
output.save("combine/remove_bg.png")

mask_img_path = "combine/remove-bg.png"
mask_a = cv2.imread(mask_img_path, cv2.IMREAD_UNCHANGED)
mask_a = mask_a[:, :, 3]
cv2.imwrite("combine/mask.png", mask_a)

gray_img = cv2.imread(original_img_path)
gray_img = cv2.cvtColor(gray_img, cv2.COLOR_BGR2GRAY)
gray_img = cv2.cvtColor(gray_img, cv2.COLOR_GRAY2BGR)
cv2.imwrite("combine/gray.png", gray_img)

gray_img_path = "images/gray.png"
mask_path = "images/mask.png"
paste_img = Image.open(gray_img_path)
base_img = Image.open(original_img_path)
mask = Image.open(mask_path)
im = Image.composite(paste_img, base_img, mask)
im.save("combine/composite.png")

解説

from rembg import remove
from PIL import Image
import cv2
ライブラリのインポート

original_img_path = "images/IMG_5358.png"
オリジナル画像のパスを指定

input = Image.open(original_img_path)
画像を開く
output = remove(input)
rembgで背景を削除
output.save("combine/remove_bg.png")
画像を保存

mask_img_path = "combine/remove-bg.png"
背景を削除した画像のパスを指定
mask_a = cv2.imread(mask_img_path, cv2.IMREAD_UNCHANGED)
画像を開く
mask_a = mask_a[:, :, 3]
アルファチャンネルを取得
cv2.imwrite("combine/mask.png", mask_a)
画像を保存

gray_img = cv2.imread(original_img_path)
白黒画像に変換するオリジナル画像のパスを指定
gray_img = cv2.cvtColor(gray_img, cv2.COLOR_BGR2GRAY)
白黒画像(グレースケール)に変換
gray_img = cv2.cvtColor(gray_img, cv2.COLOR_GRAY2BGR)
グレースケールの画像をBGRに戻す
cv2.imwrite("combine/gray.png", gray_img)
画像を保存

gray_img_path = "images/gray.png"
mask_path = "images/mask.png"
画像のパスを指定
paste_img = Image.open(gray_img_path)
base_img = Image.open(original_img_path)
mask = Image.open(mask_path)
画像を開く
im = Image.composite(paste_img, base_img, mask)
白黒、オリジナル画像、マスクを合成(上が白黒に変換したマスク処理したい画像、下がオリジナル画像)
im.save("combine/composite.png")
画像を保存

ファントムYouTubeチャンネル

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

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




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

    Related Articles

    Python

    多次元配列から最大値、最小値を取得

    多次元配列から最大値、最小値を取得 Pythonで複数の配列からなる多次元配列から最大値、最小値を取得する方法です。一次元配列も同じやり方で最大値、最小値を取得可能です。 モジュールのインストール ソースコード arr1 […]

    Posted on 4th 6月 2020 by press
    Python

    Jupyter NotebookでもBlackでコードフォーマット

    Jupyter NotebookでもBlackでコードフォーマット コードの可読性を上げて保守性を高めたり、コードの属人化を防いで生産性を向上させるためのルール(コーディング規約)に則った開発を行うために、ファントムでは […]

    Posted on 1st 3月 2022 by press