【Python/OpenCV】背景差分・フレーム差分で移動物体の検出

Python版OpenCVで背景差分法、フレーム差分法を実装し、移動物体を検出する方法をソースコード付きで解説します。

## 【Python】背景差分法の実装例

背景差分法は、移動物体の検出方法の1つです。
背景差分法では、入力画像と背景画像の差分を計算することで移動物体を抽出します。
背景差分法を行うには、背景画像を事前に用意する必要があります。

背景差分法の原理・特徴・計算式
この記事では、背景差分法による移動物体の検出原理や特徴、計算式についてまとめました。

動画解説

今回は、PythonとOpenCVで簡単な背景差分法を実装してみました。
サンプルプログラム(Python3 + OpenCV)のソースコードです。

サンプルコード


最初に読み込んだフレームを背景画像にしています。
また、一定間隔(カウント変数iが30になる毎)で背景画像を更新することで照明変化に対応しています。

実行結果

サンプルプログラムの実行結果です。

左上:入力フレーム、右上:マスク、左下、背景画像

## 【Python】フレーム間差分法の実装例

フレーム間差分法は、移動物体の検出方法の1つです。
連続する画像の差分から動体を検出することができます。
この方法の大きな特徴としては、背景差分法のように背景画像(モデル)を用意する必要がない点です。

フレーム差分法の原理・特徴・計算式
この記事では、フレーム差分法による移動物体の検出原理や特徴、計算式についてまとめました。

今回は、PythonとOpenCVでフレーム間差分法を実装してみました。

動画解説

サンプルコード

サンプルプログラム(Python3 + OpenCV)のソースコードです。


実行結果

サンプルプログラムの実行結果です。

上:入力フレーム、下、差分画像(マスク)

マスク画像にメディアンフィルタをかけることでゴマ塩ノイズを除去しています。

【Python/OpenCV】フレーム間差分法で移動物体の検出
Python版OpenCVでフレーム間差分法を実装し、移動物体を検出する方法をソースコード付きで解説します。
【Python版OpenCV入門】使い方とサンプル集
OpenCV(Intel Open Source Computer Vision Library)とは、インテル社で開発された画像処理・画像認識用のオープンソースライブラリです。Python/C++/Java/Android/Node.js...
Python 画像処理
西住工房

コメント

タイトルとURLをコピーしました