前提・実現したいこと
物体の落下運動をとらえられるような連写ソフトをRaspberry Piで実現したいです!
発生している問題
書き方は雑ですが、一応コード書いてみました。以下の通りです。
実行すればStartボタンとStopボタンが出て、スタートボタンを押せば 関数経由で写真撮影関数が作動し写真撮影を延々と繰り返します。stopボタンを押せば、写真撮影が停止します
注)picamera モジュールを普通のPCなどで読み込むとモジュールがないというエラーが出ます。Raspberry Piが無いと使用できないと思います(;'∀')
import picamera import time import tkinter as tk import threading class Serialphoto(object): def __init__(self): self.frame=1 self.stop_fg=False self.gui() def gui(self): self.root=tk.Tk() Button001=tk.Button(self.root,text="Start",command=self.on_start) Button001.pack() Button002=tk.Button(self.root,text="End",command=self.on_stop) Button002.pack() self.root.mainloop() def on_start(self): threading.Thread(target=self.on_run).start() def on_stop(self): self.stop_fg=True def on_run(self): self.camera=picamera.PiCamera() self.camera.resolution = (1024, 768) self.camera.start_preview() time.sleep(2) frame=0 self.stop_fg=False while self.stop_fg!=True: self.camera.capture('frame%03d.jpg' % frame) frame += 1 self.camera.stop_preview() app = Serialphoto()
実際に作動させると、体感的に写真1枚/0.2秒というぐらいのスピードで撮影しています。しかしこの撮影速度では物体の落下運動を写真に収められないのです!
一応while文で延々と処理を繰り返しているため、写真撮影および画像保存等の作業で時間がかかるからどうしようもないのかもしれない、、、でもどうにかして物体の落下運動を連写撮影でとらえられるほど撮影スピードは上げられないでしょうか?
while文の部分はこちらの質問への回答を参考に組んでみました
https://teratail.com/questions/147319
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/20 17:22
2018/09/20 20:00
2018/09/20 20:08
2018/09/30 06:47