• ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

ALAKI株式会社

COZIKEEいつまでも使えるTech情報発信ブログ

  • ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

PythonのOpenCVライブラリを活用して背景差分を取得してみよう!

2019年1月31日

  • このエントリーをはてなブックマークに追加

こんにちは、Webプログラマの篠田です。

現在、AIを活用したサービスの開発を行っていますが、その中で「画像の比較」が必要となり、「背景差分法」について調べる機会があったので、まとめておきたいと思います。

背景差分法とは

動画の前処理として使われる手法の1つです。

具体的には、固定カメラで撮影した動画を使って、お店への来店者数や退室者数の測定などに活用できます。

原理としては、「背景のみ」の静止画像と「モノが写り込んだ背景」の静止画像を用意して、
「モノが写り込んだ背景」画像から「背景のみ」の画像を差し引いた画像が「変化」となります。

この手法は、動画だけでなく静止画でも活用できます。

サンプルとして、下記の2枚の画像を「背景差分法」を活用して、背景を取り除いた「差分」を抽出したいと思います。

【背景となる画像】
sample01

【差分を持つ画像】
sample02

Pythonによる背景差分法の活用

今回は、Pythonの「OpenCV」を活用してサンプル画像から「差分」を取ります。

import cv2

#「背景」となる画像の取り込み(グレースケール)
img_src01 = cv2.imread("sample01.png", 0)

#「差分」をもった画像の取り込み(グレースケール)
img_src02 = cv2.imread("sample02.png", 0)

#「背景差分」計算用オブジェクトの作成 
bgObj = cv2.bgsegm.createBackgroundSubtractorMOG()

#差分となっている「前景領域」に対してマスクをかける
fgmask = bgObj.apply(img_src01)
fgmask = bgObj.apply(img_src02)

#画面に表示
cv2.imshow('frame', fgmask)

#「差分」画像のファイル名
bg_diff_path = "./diff.jpg"

#「差分」画像の保存
cv2.imwrite(bg_diff_path, fgmask)

#「キー」が押されるまで画面を表示
cv2.waitKey(0)

#作成した画面をすべて破棄
cv2.destroyAllWindows()

サンプルプログラムの実行

190130-0002

「影」などの不純な要素がありませんでしたので、綺麗に「変化(白い部分)」を取得することができました。

まとめ

目的としているプロジェクトでは、「影」や「日光環境」といったものを考慮しないので、「背景差分法」で十分条件を満たせそうです。

次回は「どれくらいの変化」かを測定する方法について考えてみたいと思います。

  • ツイート
  • このエントリーをはてなブックマークに追加

You may also like...

  • 相手に伝わるメールの書き方14のコツ【2020年8月27日更新】

    相手に伝わるメールの書き方14のコツ【2020年8月27日更新】

    27 8月, 2020

  • 0

    WEBフォントでサイトのデザインや品質アップ!

    16 10月, 2014

  • 広報戦略でお悩みの方へ!弊社が考える大学・専門学校に必要な広報戦略(2017年版) 0

    弊社が考える、これからの専門学校・大学に必要な、 5つの広報戦略

    21 11月, 2014

  • Next story WebARはじめてみませんか?〜第2回 A-frameで3Dオブジェクトを自在に操作する〜
  • Previous story WordPressのSNS自動投稿の決定版!Twitter/Facebookと連携するSNAP(NextScripts: Social Networks Auto-Poster)の使い方

運営会社

ALAKI株式会社 ALAKI株式会社採用サイト

弊社サービス

MUGHEN ALAKI クラウド型受発注システム さよなら過去のAR。WebARがイベント集客に革命を起こします。 広報活動の課題を数字で可視化し、出願者数アップをお手伝いします クリエイティブ業務のコミュニケーションを高速化 Webの知識が無くてもWebサイトの品質をチェックできます。

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 色

アーカイブ

  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年2月
  • 2021年12月
  • 2021年9月
  • 2021年7月
  • 2021年6月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年6月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年12月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年8月
  • 2017年7月
  • 2017年6月
  • 2017年4月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2013年10月
  • 2013年9月

Facebook

お問い合わせ

お問い合わせ

人気の記事

  • 「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法
  • Web制作時に高解像度の元画像がない場合にPythonで高画質化する方法
  • 『考える』が楽しくなる!考えを「広げる」・「深める」12の方法
  • macにpythonの開発環境を作ってみよう!
  • 商品・サービスを圧倒的に成長させる、シリコンバレーで注目の「プロダクト・レッド・グロース」を解説

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 色

検索

ALAKI株式会社 © 2026. All Rights Reserved.