3097浏览
查看: 3097|回复: 1

关于M5StickV的视频录制使用方法

[复制链接]
本帖最后由 vany5921 于 2019-10-12 11:57 编辑

M5StickV是一款具备强大的AI识别能力的摄像头,内置K210芯片,支持python编程,通过GROVE接口提供丰富的扩展能力,由于FPIOA的存在,可以方便的配置UART和I2C,对于一款摄像头来说,最基本的功能就是录像,接下来带大家一起了解一下这款设备的录像功能。(之前见到有人问如果在Python中引入外部变量,其实很简单,单独新建一个py文件保存全局变量,程序运行时作为模块导入,或者创建文本文件,使用fs进行读写。)
关于M5StickV的视频录制使用方法图1

[mw_shl_code=python,true]import image
import lcd
import time
import uos
import video
import sys

from fpioa_manager import *
from machine import I2C
from Maix import I2S, GPIO   

#board_info.pin_map()可以查看引脚的定义名称,具体配置是GPIO哪个引脚可以通过前面品pin_map查看到的名称用board_info.来查看,比如输入board_info.BUTTON_A打印结#果为36,board_info.CONNEXT_A打印为35

fm.register(board_info.BUTTON_A, fm.fpioa.GPIO1)               #使用fpioa管理器配置按键A
but_a=GPIO(GPIO.GPIO1, GPIO.IN, GPIO.PULL_UP) #PULL_UP 必须上拉

fm.register(board_info.BUTTON_B, fm.fpioa.GPIO2)             #使用fpioa管理器配置按键B
but_b=GPIO(GPIO.GPIO2, GPIO.IN, GPIO.PULL_UP) #PULL_UP 必须上拉

lcd.init()
lcd.rotation(2)
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames(30)

#技巧》建立文本文件保存变量,自动添加文件名序号
noname="no.txt"
basename="capture"
ext=".avi"
no = 1

while True:
    while True:
        img = sensor.snapshot()
        img.draw_string(img.width()//2-100,img.height()//2-4, "STOP", color=(0,0,255), scale=2,mono_space=False)
        lcd.display(img)

        if but_a.value() == 0:         #按键A按下跳出循环准备拍摄
            while but_a.value() != 0:
                break
            break

        if but_b.value() == 0:     #按键B按下停止拍摄,清屏
            sensor.run(0)
            lcd.clear()
            sys.exit()

    lcd.clear()

    print("Start")

    try:
        f = open("/sd/"+noname,"r")     #打开no.txt文件读取no
        no = int(f.read())
        f.close()
    except:
        no = 1

    print(no)

    nm = "/sd/" + basename + str(no) + ext   #文件命名
    print(nm)
#  v = video.open(nm, record=1, interval=200000, quality=50)
    v = video.open(nm, record=1)
   
    while True:
        img = sensor.snapshot()
        img_len = v.record(img)
#      lcd.draw_string(lcd.width()//2-100,lcd.height()//2-4, "REC", lcd.WHITE, lcd.RED)
        img.draw_string(img.width()//2-100,img.height()//2-4, "REC", color=(255,0,0), scale=2,mono_space=False)
        lcd.display(img)

        if but_a.value() == 0:      #按键A按下停止录像
            while but_a.value() != 0:
                break
            break

    v.record_finish()
    print("Stop")

    lcd.clear()

    no = no + 1
    f = open("/sd/"+noname,"w")  #将no写入txt文件
    f.write(str(no))
    f.close()[/mw_shl_code]


Evankoo  见习技师

发表于 2019-10-17 09:29:24

厉害
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail