I have this code that is trying to capture a frame from my webcam on a raspberry pi and save it as an image. I use opencv 2, but strange errors occur when I run the code.
import time import sys from subprocess import call import ftputil import cv2 cam = cv2.VideoCapture() #cam.set(CV_CAP_PROP_FRAME_WIDTH, 640) #cam.set(CV_CAP_PROP_FRAME_HEIGHT, 480) while True: #call("streamer -q -f jpeg -s 640x480 -o ./current.jpeg", shell=True) #time.sleep(0.2); #call("killall -q streamer", shell=True) cam.open(-1) image = cam.read() cv2.imwrite("current.jpeg",image) host = ftputil.FTPHost() #host.remove("/domains//public_html/webcam.jpg") host.upload("./current.jpeg", "/domains//public_html/webc$ host.close() host = ftputil.FTPHost() filename = str(time.time()) + ".jpg" #host.remove("/domains
You can ignore the ftp part and commented lines .. This is what the program returns:
VIDIOC_QUERYMENU: Invalid argument VIDIOC_QUERYMENU: Invalid argument VIDIOC_QUERYMENU: Invalid argument VIDIOC_QUERYMENU: Invalid argument VIDIOC_QUERYMENU: Invalid argument VIDIOC_QUERYMENU: Invalid argument VIDIOC_QUERYMENU: Invalid argument Traceback (most recent call last): File "kvamskogen.py", line 18, in <module> cv2.imwrite("current.jpeg",image) TypeError: <unknown> is not a numpy array
What is wrong here?
Grixm source share