0
1

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.

ラズパイ+OpenCVの画像処理の速度調査

Posted at

はじめに

以前、ラズパイを使って子供の寝相の監視をしたが、そのときにMicroSDの容量不足に悩まされた。

OpenCVで保存すれば容量は減らせるのだが、撮影間隔を守ることができなかったので、
実際にどれぐらい時間に対して不安定なのかを確認していた。

もったいないのでとりあえず公開しておく。

時間測定用コード

適当な時間待ってから写真を撮って保存するのにかかった時間を計測するプログラムを書いた。
これを起動して、一晩放置してみた。

from picamera import PiCamera
from picamera import array
from time import sleep
import datetime
import cv2

count = 0

with open("time.csv", "w") as w:
    with PiCamera() as cam:
        while count < 10000:
            with array.PiRGBArray(cam) as stream:
                start = datetime.datetime.now()

                cam.capture(stream, 'rgb')
            
                cv2.imwrite("test_bgr.jpg", stream.array)
                
                end = datetime.datetime.now()
                
                w.write(str((end - start).total_seconds()))
                w.write("\n")
                
                sleep(0.5)
                count += 1

結果

1万回の撮影結果を時間ごとにまとめた結果が下記の表。
例えば、0.5~0.6秒かかったのは10000回中5750回となる。

時間計測.png

もっとsleepの時間を短くしたら結果は変わるかもしれないが、
毎秒撮影するときに10000回中に数回は1秒以上の時間がかかるとなると、
1時間に一度、撮影に1秒以上かかるタイミングがあると考えて良さそうだ。

毎秒動作させることが必須な使い方には、ラズパイ+OpenCVは向かなさそうだということがこの実験からわかった。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?