weixin_52953123
贝奥兰迪
2021-01-14 15:40
采纳率: 100%
浏览 45

对树莓派的摄像头进行控制,代码单独运行没问题,放在函数里却出现报错

大佬们,我的程序想对树莓派上的摄像头进行控制,当单独运行这段代码没有问题,但是当我把他写道函数里就会报如下错误,请大佬们帮我解答一下!

我是先创建了一个文件夹,然后拍照的照片使用时间戳来命名,对GPIO引脚的控制是为了在拍照时有一个闪光灯闪光,部分代码(报错的函数部分)如下:

os.mkdir('/home/pi/Desktop/czp')

def picture_cjob():
    timestart = time.time()
    timestop = timestart + 30
    while True:
        timenow = time.time()
        if (timenow < timestop):
            GPIO.output(18,GPIO.HIGH)
            camera.capture('/home/pi/Desktop/czp/'+str(time.time())+'')
            GPIO.output(18,GPIO.LOW)
            time.sleep(2)
        else:
            break

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • weixin_42678268
    bj_0163_bj 2021-01-14 15:51
    已采纳

    camera 是不是一个类啊? 如果是一个类需要先实例化。然后再调用

    camera1=camera()
    camera1.capture('/home/pi/Desktop/czp/'+str(time.time())+'')
    点赞 评论
  • dzhaoll1001
    dzhaoll1001 2021-01-14 15:50

    camera.capture('/home/pi/Desktop/czp/'+str(time.time())+'') 少了一个位置参数

    点赞 评论
  • weixin_52953123
    贝奥兰迪 2021-01-14 15:51

    能否细说我少了什么参数,如果是少了.jpg的话,你可以看我传的报错图片是有的

    点赞 评论
  • soar3033
    soar3033 2021-01-14 15:55

    试一试把time.time()去掉,要是这样好用了,就有可能是time.time()的返回值里的‘.'影响

    点赞 评论
  • weixin_52953123
    贝奥兰迪 2021-01-14 15:55

    回复大佬关于camera类的问题,我没有列全我的程序,在最开始的时候我是这样写的,如下图:

    点赞 评论
  • weixin_52953123
    贝奥兰迪 2021-01-14 15:58

    回复大佬关于time.time()的问题,我试过把camera.capture()中这个time.time()去掉,依然报错

    点赞 评论
  • weixin_52953123
    贝奥兰迪 2021-01-14 16:14

    感谢大佬bj_0163_bj的回答,我是通过树莓派开始学习python的,所以刚学一些基础知识还不是很懂,确实改成PiCamera()后成功运行了,再次感谢

    点赞 评论

相关推荐