python - 如何在 Raspberry Pi 启动时启动网络摄像头并将其存储在闪存驱动器中

标签 python bash opencv raspberry-pi3

第 1 部分: 我正在运行一个使用 cv2 的 Python 脚本,将视频从网络摄像头保存到 pendrive。

import cv2,os

dypa = ('/media/pi/PSYCH') #specify the absolute output path here
fnam1 = 'output.avi' #specify the output file name here
fnam2 = 'output1.avi'
dypa1 = os.path.join(dypa,fnam1)
dypa2 = os.path.join(dypa, fnam2)

if __name__ == "__main__":

    # find the webcam
    capture = cv2.VideoCapture(0)
    capture1 = capture
    # video recorder
    fourcc = cv2.cv.CV_FOURCC(*'XVID')
    videoOut = cv2.VideoWriter(dypa1, fourcc, 10.0, (640, 480))
    videoOut1 = cv2.VideoWriter(dypa2, fourcc, 10.0, (640, 480))

    # record video
    while (capture.isOpened() and capture1.isOpened()):
        ret, frame = capture.read()
        ret1, frame1 = capture1.read()
        if ret:
            videoOut.write(frame)
        else:
            break
        if ret1:
            frame1 = cv2.flip(frame1,1)
            videoOut1.write(frame1)
        else:
            break

    # Tiny Pause
    key = cv2.waitKey(1)

    capture1.release()
    videoOut1.release()
    capture.release()
    videoOut.release()
    cv2.destroyAllWindows()

如果我知道 pendrive 的名称(“/media/pi/PSYCH”),我就设法做到了。但后来我把命令放在 bash 文件中

sudo nano /etc/rc.local

并添加

sudo python /home/pi/Desktop/TheCode.py

以便它在启动时执行。

当我重新启动时,仍然存在

/media/pi/PSYCH

但现在无法访问并且 pendrive 现在位于

/media/pi/PSYCH1

.下次重新启动,它位于/media/pi/PSYCH2 等等。

PS:我正在使用带有 Raspbian Jessie 的 Rasberry Pi 3

最佳答案

解决方法:

在代码中,我注释掉了所有显示交互。 我也评论了

key = cv2.waitKey(1)

我将 rc.local 中的命令编辑为

sudo python /home/pi/Desktop/TheCode.py &

然后我使用库向 TheCode.py 文件添加了 1 分钟的延迟

import time

然后写一个

time.delay(60)

这将使 pendrive 和相机有时间安装,这会产生 PSYCH1 问题。

关于python - 如何在 Raspberry Pi 启动时启动网络摄像头并将其存储在闪存驱动器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45447044/

相关文章:

python - 我怎样才能同时在一个可迭代的python上有多个迭代器?

python - python 中只有左基的峰日珥的累积和

c++ - 类 cv::ml::SVM 没有名为 Params 的成员

c++ - 如何在opencv中多次初始化Mat数据结构

java - 有没有一种简单的方法为每个运行的jvm生成jstack?

java - OpenCV Java : how to find connected components of image in OpenCv JAVA

python - 在 python 文件中指定编码时,python 中的 "magic lines(s)"如何工作?

python - 如何使用子流程模块正确地与流程交互

bash - 每个用户的 NVM 安装不适用于自动 ssh 登录

python - 运行一个 shell 脚本,该脚本运行一个 python 程序,然后运行一个 R 程序