0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RaspberryPi3 B+で監視カメラを作ってみた

Last updated at Posted at 2022-08-14

right(engineer)です。

今回はRaspberryPi(以降ラズパイ)で監視カメラを作成してみました。

1.環境

  • Raspberry Pi3 Model B+
  • カメラモジュール(感光チップOV5647センサー)[ブランド:LOTW]
  • Python3 (Ver.3.9.2)
  • pip3 (Ver.22.2.2)
  • OpenCV2 (Ver.4.6.0)
  • NumPy (Ver.1.23.1)
$ git --version
Python 3.9.2
$ pip3 --version
pip 22.2.2 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9)
$ python3
>>> import cv2
>>> cv2.__version__
'4.6.0'
>>> import numpy
>>> numpy.__version__
'1.23.1'
>>> exit()

2.事前準備

今回はプログラミング言語としてPython3を使用した。

2.1.pip更新

pipを最新版に更新する。

$ sudo python -m pip install --upgrade pip

2.2.OpenCV インストール

OpenCVをインストールする。
OpneCV:画像解析ライブラリ
今回はPythonでOpenCV2をインストールする。

$ sudo pip3 install opencv-python==4.6.0

2.3.NumPy更新

NumPyを最新版に更新する。
NumPy:数値計算ライブラリ

$ sudo pip3 install -U numpy

3.仕様

ラズパイに接続したカメラモジュールの映像をモニタする。
プログラム実行後、ウィンドウ上にモニタ映像が表示される。
ESCキーを押すとウィンドウを閉じて、プログラムを終了する。

4.実装

以下ソースコードをラズパイ上で作成した。

import cv2

camera_no = 0 #Camera No.
window_title = "Window" #Window name

camera = cv2.VideoCapture(camera_no)

while True:
    ret, frame = camera.read()
    if not ret:
        break
    
    cv2.imshow(window_title, frame)
    key = cv2.waitKey(1)
    
    if key == 27: #Push Esc kye if you want to close the window.
        break
    
camera.release()
cv2.destroyAllWindows()

GitHub URL

5.ソースコード解説

OpenCV2のライブラリを呼び出す。

import cv2

使用するカメラを選択する。
カメラが1台しか接続されていない場合はcamera_noを0に設定する。

camera = cv2.VideoCapture(camera_no)

カメラが複数台ある場合はターミナルに以下コマンドを入力して、カメラのNo.を確認する。

$ v4l2-ctl --list-devices
UVC Camera:/dev/video0

カメラから1フレーム分の画像を保存する。
ret:カメラ画像取得結果が入る。True、falseが入る。
img_src:1フレーム分の画像データが入る。

ret, frame = camera.read()

上記で取得したカメラ画像を表示する。
第一引数:表示ウィンドウ名。
第二引数:表示するカメラ画像(1フレーム分)

cv2.imshow(window_title, frame)

1m秒間キーが押下されるのを待つ。
keyには押下されたキー入力の10進アスキーコードが入る。
例)ESCキーが押下された場合、key=27となる。

key = cv2.waitKey(1)

カメラのキャプチャを終了し、
表示ウィンドウを閉じる。

camera.release()
cv2.destroyAllWindows()

6.動作確認

RaspberryPi上でカメラモジュールの映像をモニタすることができました。
RasPi-camera_Operation-check.PNG

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?