首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用不同的脚本控制picamera

用不同的脚本控制picamera
EN

Stack Overflow用户
提问于 2019-04-12 22:44:26
回答 2查看 439关注 0票数 0

我想控制一个覆盆子相机与毕加索与蟒蛇。我创建了一个带有按钮的QT接口,我希望开始和停止使用它们进行记录,例如,单击button1,我调用一个开始记录的python脚本,单击button2记录停止。当然,我不知道这是否有意义,在这两个脚本中,我必须分配一个"picamera“对象,但我不知道它们是否会引用同一个对象。想法?否则,我只能记录一定数量的时间开始,等待时间,并停止在同一个脚本中的记录。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-12 22:54:34

简单地说,您的代码将开始记录并停止在python脚本中记录。通过REST (HTTP端点)使其可用。为此,python将帮助您全局创建picamera对象,然后在python脚本中定义两个方法(函数),这些方法(函数)将启动记录并停止录制。用URL (HTTP端点)映射这两个方法。

在客户端(),单击按钮只需调用REST ( HTTP )。

  • Python瓶

这就是我所做的,我有网络应用程序(HTML和JS)来控制我的相机,在后端我有python,picamera和烧瓶。

票数 1
EN

Stack Overflow用户

发布于 2019-04-14 21:59:56

我创建了一个文件python,它与Flask一起运行。它可以帮助其他人,所以我在这里报告我的代码:

代码语言:javascript
复制
import datetime as dt

from picamera import PiCamera
from time import sleep
from datetime import datetime

from flask import Flask
app = Flask(__name__)


camera = PiCamera()

@app.route('/')
def hello_word():
    return 'Camera control ready'

@app.route('/StartRecord')
def start_record():
    global camera
    timestamp = datetime.now().strftime("%y%m%d_%H%M%S")
    camera.resolution = (1920, 1080)
    camera.rotation = 180
    camera.start_recording('/home/pi/Videos/Video_{}.h264'.format(timestamp))

    return 'Camera recording...'

@app.route('/StopRecord')
def stop_record():
    global camera
    camera.stop_recording()
        return 'Camera video stopped!'

@app.route('/TakePicture')
def take_picture():
        global camera
        timestamp = datetime.now().strftime("%y%m%d_%H%M%S")
        camera.resolution = (1920, 1080)
    camera.rotation = 180
        camera.capture('/home/pi/Pictures/Photo_{}.jpg'.format(timestamp))

        return 'Camera photo captured!'

@app.route('/StartLive')
def start_live():
        global camera
        camera.preview_fullscreen=False
        camera.resolution =(944, 600)
    camera.rotation = 180
        camera.preview_window=(0,0,944,600)

        preview = camera.start_preview()

    return 'Camera start live!'

@app.route('/StopLive')
def stop_live():
        global camera
        camera.stop_preview()
        return 'Camera stop live!'

if __name__ == '__main__':
    app.run(host='0.0.0.0')

@webDev,如果您有其他提示,请告诉我。谢谢。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55660299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档