@UPA_Project-Ri_T

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

OpenCVで検出した、動作時間・動作距離をGoogleスプシに自動反映させたい

OpenCVで、すでに動作検知のプログラムを組んでいます。
このプログラムから、何時にどのくらい動いたのかをGoogleスプレッドシートに記録させたいのですが、Pythonを1から勉強しているため、わかりません。
すでに、動作検知プログラムと、GoogleスプレッドシートのAPIの取得・プログラムは構築済みです。
参考↓
https://qiita.com/KMiura95/items/4eed79a7da6b3dafa96d
https://www.teijitaisya.com/python-gsheets/

バージョン
 Python3.9/Anaconda,Spider使用

映像データには録画時間が表示されますので、そこから何日・何時を取得したいです。

解決法が載っているWebサイトなどありましたら、ご提供いただきたいです。
よろしくお願い致します。

0 likes

1Answer

動作検知とスプシ記入のコードはあるのですね,でしたら動作検知のコードで得られた内容をスプシ記入するコードに渡すだけのことです.そしておそらくそれをコピペで実行できるコードはネットにはありません.自分で書かれるしかないと思います.

具体的には,得られたデルタ画像に対する輪郭検出の結果が動作検出結果と一致するはずなので,これを用いて

のようにコードを書く必要があると思います.例として書くなら

gspreadTest.py
# 略

def write_spreadsheet(time, distance):
    # 略
    worksheet.update_cell(1, 1, time)
    worksheet.update_cell(1, 2, distance)

# 略
main.py
# 略
from gspreadTest import write_spreadsheet

start, end, move_distance = False, False, 0
while True:
    # 略
    contours, hierarchy = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    if len(contours):
        if not start:
            start = # 開始時間を取得
        
        move_distance += # 移動距離を算出,加算
    else:
        end = # 終了時間を取得
        write_spreadsheet(end - start, move_distance)
        start, end, move_distance = False, False, 0

# 略

のようにでもなるのでしょうか.

映像データには録画時間が表示されますので、そこから何日・何時を取得したいです

文字の検出を行うならOpenCVの参考コードがあるので,使ってみると良いでしょう.

プログラミングでは基本的に各機能がネットに転がっており,それらを結合するのがプログラマの役割です.

1Like

Your answer might help someone💌