実現したいこと
ラズパイにカメラセンサを繋いでPython3を動かしています。
そのプログラムの中にカメラから送られるデータに含まれる「フレーム数」が一定数増えるごとに処理を実行したい部分があります。
whileで全体をループし、カメラからの返却値に含まれる"frame_number"が一定数(今回は10,000)増えるごとにifの中身を実行しようと別の変数fnを作ってそれを分岐に含めたりしているのですが、思った処理が出来ません。
frame_numberが開始時から時間が経つと10000を超える値になり、fn=0が無意味だという事は分かるのですが、だからどうする、という部分の方法が思いつきません。
frame_numberは毎回同じ値だけ増えるわけではなく、直前の処理等でかかった時間によって(?)多少前後してしまうようです。
該当のソースコード
Python3
1while 1: 2 fn = fn + frame_number 3 if fn/10000 > 1: 4 (中略)#ここの処理を実行 5 fn = 0
補足情報(FW/ツールのバージョンなど)
Python 3.5.3
"frame_number"というのはどんどん値が増えていくものなのですか?
質問に「frame_numberが開始時から時間が経つと10000を超える値になり」と書かれていますが、これは「カメラから送られるデータに含まれる「フレーム数」は時間がたつと増えていって、10000を超える値になる」という事でしょうか?
frame_numberは1から始まり常に増え続けています。上限も特に設定はされていません。
そしてその値を調べて10000を超えた時、20000を超えた時、30000を超えた時にifの中が実行されるようにしたいのです。
実行するたびに1ずつ増えるのならframe_number%10000==0のとき、で良いと思うのですが、プログラムから呼び出さない時でもframe_numberは増え続けており、必ずしも10000で割り切れるとも限りません。
「frame_numberは1から始まり常に増え続けています。上限も特に設定はされていません。」だとすれば、frame_numberの値にだけ注目すれば良くて、"fn = fn + frame_number"というように積算するのは間違いなわけですね。
回答2件
あなたの回答
tips
プレビュー