. Raspberry PiとOpenCVでカメラ映像の動体検知をする方法
Raspberry PiとOpenCVでカメラ映像の動体検知をする方法
Raspberry PiとOpenCVでカメラ映像の動体検知をする方法

Raspberry PiとOpenCVでカメラ映像の動体検知をする方法

Raspberry PiとOpenCVでカメラ映像の動体検知をする方法 2023 7/07 Python Raspberry Pi 2022年7月8日2023年7月7日
  • URLをコピーしました!

※本ページはアフィリエイト広告を利用しています

今回はRaspberry Pi 4とWebカメラを使って、動いているものを画像処理で検出する動体検知システムを実装する方法について解説します。画像処理ライブラリにはOpenCVを利用しPythonでコーディングを行いました。当サイトでこれまで公開したOpenCVの活用事例についても以下の記事で解説していますので、あわせてご覧ください。

あわせて読みたい Raspberry PiでOpenCVを使って画像処理をする方法 今回は画像処理ライブラリOpenCVをエッジデバイス、Raspberry Piで実装する方法について解説していきたいと思います。 OpenCVとは OpenCVは半導体メーカーインテルが開… おすすめ記事 目次

Raspberry Pi(ラズベリーパイ)とは

Raspberry Pi 5は、Raspberry Pi財団が開発した最新のシングルボードコンピュータで、従来モデルよりも大幅な性能向上を実現しています。

Raspberrypi5 8G ラズベリーパイ5 技適取得済マーク入り商品 Raspberry Pi 口コミを見る \最大10%ポイントアップ!/ Amazon 楽天市場 Yahooショッピング メルカリ ポチップ

搭載される64ビットクアッドコアプロセッサは、クロック速度が最大2.4GHzに達し、前世代よりも処理速度が格段に向上しました。また、4GBまたは8GBのRAMを選択できるため、教育用途からリソースを必要とするプロジェクトまで幅広く対応可能です。

グラフィックス性能も強化され、4K解像度でのデュアルディスプレイ出力をサポートしています。さらに、新たにPCIeインターフェイスが追加され、外部ストレージや高速デバイスとの接続が容易になりました。Wi-Fi 6やBluetooth 5.2の導入により、無線通信も高速かつ安定。

教育、IoT、AI開発、メディア再生など、多様な用途に対応するRaspberry Pi 5は、初心者から上級者まで幅広いユーザーにとって魅力的な選択肢となっています。

Raspberry Piでできることについては以下の記事で解説していますので、あわせてご覧ください。

あわせて読みたい ラズベリーパイ(Raspberry Pi)でできること!活用事例集 ラズベリーパイを買ったけどLチカしたあと何ができるのかイメージがわかない、これからラズベリーパイを買って電子工作で何かを作ってみたいけど何ができるの?という方… Smraza Raspberry Pi 4 USB-C (Type C)電源、5V 3A ラズベリーACアダプター RPi 4b Model B 1GB / 2GB / 4GB/ 8GB適用 PSE取得 Smraza 口コミを見る \最大10%ポイントアップ!/ Amazon 楽天市場 Yahooショッピング メルカリ ポチップ Pythonで始めるOpenCV 4プログラミング 著:北山 直洋 口コミを見る \最大10%ポイントアップ!/ Amazon 楽天市場 Yahooショッピング メルカリ ポチップ

OpenCVとは

画像処理ライブラリOpenCVについては以下のページで解説しています。

あわせて読みたい Raspberry PiでOpenCVを使って画像処理をする方法 今回は画像処理ライブラリOpenCVをエッジデバイス、Raspberry Piで実装する方法について解説していきたいと思います。 OpenCVとは OpenCVは半導体メーカーインテルが開…

OpenCVのインストール

Raspberry Pi環境でのOpenCVのインストール方法については、以下のページで解説しています。

あわせて読みたい 【Raspberry Pi】ラズパイのカメラモジュールで動画撮影をする方法 今回はラズベリーパイのカメラモジュールを使用して、動画を撮る方法について解説していきます。撮影には画像処理ライブラリOpenCVを使用します。また、OpenCVの活用事… あわせて読みたい IoTマスターへの近道!UdemyのRaspberry Pi講座でスキルを磨く Raspberry PiはIoTアプリケーション開発の分野で不可欠なツールです。これは、Raspberry Piがコンパクトでコスト効率が良く、多様なプロジェクトに適用できるためです。…

使用するハードウェア

今回使用するハードウェアはRaspberry Pi 4とUSB接続のWebカメラ、ロジクールのC270を使用します。

WebカメラC270をPythonのプログラムから制御し、画像処理を行います。C270で取り込んだ映像の中に動体が検出された場合は、動体の周りに緑の枠線を描画します。C270は標準でドライバーが搭載されていますので、Raspberry Piに接続するだけで自動的に認識されます。

ロジクール ウェブカメラ C270n ブラック HD 720P ウェブカム ストリーミング 小型 シンプル設計 ウェブ会議 テレワーク リモートワーク WEBカメラ 国内正規品 2年間メーカー保証 created by Rinker

作成したソースコード

カメラで撮影した動画の動体検知を行うため、以下のソースコードを作成しました。

import cv2 #VideoCaptureオブジェクト取得 cap = cv2.VideoCapture(-1) print("start") avg = None while(True): #フレームを取得 ret, frame = cap.read() if not ret: print("not capture") break #動体検知処理 #グレースケールに変換 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 比較用にフレームの切り出し保存 if avg is None: avg = gray.copy().astype("float") continue #現在のフレームと移動平均との差を計算 cv2.accumulateWeighted(gray, avg, 0.5) frameDelta = cv2.absdiff(gray, cv2.convertScaleAbs(avg)) #画像を2値化する thresh = cv2.threshold(frameDelta, 3, 255, cv2.THRESH_BINARY)[1] #輪郭を抽出する contours = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0] # 差分があった点を画面に描く for target in contours: x, y, w, h = cv2.boundingRect(target) if w < 30: continue #条件以下の変更点は除外 #動体の位置を描画 cv2.rectangle(frame, (x, y), (x + w, y + h), (0,255,0), 2) #画像表示 cv2.imshow("Frame", frame) #キーボード入力処理 key = cv2.waitKey(1) if key == 13: #enterキーの場合処理を抜ける break #カメラデバイスクローズ cap.release() #ウィンドウクローズ cv2.destroyAllWindows() あわせて読みたい IoTマスターへの近道!UdemyのRaspberry Pi講座でスキルを磨く Raspberry PiはIoTアプリケーション開発の分野で不可欠なツールです。これは、Raspberry Piがコンパクトでコスト効率が良く、多様なプロジェクトに適用できるためです。…

実行結果

実際にプログラムを動作させた際の、Webカメラの映像です。リアルタイムに動いている部分を検出し、枠線を描画することができました。

\ Pythonを自宅で好きな時に学べる! /

オンラインPython学習サービス「PyQ™(パイキュー)」

まとめ

今回はRaspberry Pi 4に取り付けたカメラで撮影した動画の動体検知をOpenCVを使ってリアルタイムに行う方法を解説してみました。今回のアプリケーションを応用する(動体を検知したら録画を開始するなど)ことで、監視カメラなどにも活用できるかと思いますので、ぜひ試してみてください。

また、OpenCVをさらに詳しく学びたい方には、Udemyの以下の講座もお勧めです。

【Pythonで学ぶ】OpenCVでの画像処理入門

また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。スキルアップや副業にぜひ活用してみてください。

あわせて読みたい Pythonが学べるプログラミングスクール5選 | 初心者にもおすすめ プログラミングスクールってたくさんあって、どのスクールを選んだらいいのかな? 自分のキャリアアップに必要なカリキュラムがあるプログラミングスクールを探したいん…

スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。

あわせて読みたい Python初心者におすすめ! いつでもどこでもスマホで学べるUdemy講座6選 Udemyってどんなサービスなの? 仕事の案件で機械学習を扱うことになったけど、どうやって勉強したらしいんだろう? こんな悩みを解決します。 この記事でわかること Ud…

それでは、また次の記事でお会いしましょう。

Raspberry Pi はじめてガイド―[Raspberry Pi 4完全対応] 著:山内 直, 著:大久保 竣介, 著:森本 梨聖, 監修:太田 昌文 口コミを見る \最大10%ポイントアップ!/ Amazon 楽天市場 Yahooショッピング メルカリ ポチップ ゼロからよくわかる! ラズベリー・パイで電子工作入門ガイド Raspberry Pi 4 Model B対応[改訂2版] 技術評論社 口コミを見る \最大10%ポイントアップ!/ Amazon 楽天市場 Yahooショッピング メルカリ ポチップ

\OpenCVを使った画像処理を学びたい人には自宅で学べるUdemyがおすすめ!  /

UdemyでOpenCVの講座を見てみる

講座単位で購入できます!

Python Raspberry Pi OpenCV Python RaspberryPi プログラミング よかったらシェアしてね!
  • URLをコピーしました!

人気記事

  • おすすめ記事

    SunFounder PiPowerをレビュー | Raspberry Pi用UPS(無停電電源装置)

    2024年1月19日
  • おすすめ記事

    ジェネレーティブAIの力を解き放つ!Stable DiffusionやChatGPTを駆使するためのテクニックを習得できるUdemyおすすめ講座

    2023年7月5日
  • ブログ

    技術ブログの始め方を解説 | 学んだ知識を発信しよう

    2023年1月25日

関連記事

📎📎📎📎📎📎📎📎📎📎