Working with Webcam using OpenCV
OpenCV has a functionality to work with standard USB webcams. Let's take a look at an example to capture an image from a webcam:
import cv2 # initialize the camera cam = cv2.VideoCapture(0) ret, image = cam.read() if ret: cv2.imshow('SnapshotTest',image) cv2.waitKey(0) cv2.destroyWindow('SnapshotTest') cv2.imwrite('/home/pi/book/output/SnapshotTest.jpg',image) cam.release()
In the preceding code, cv2.VideoCapture()
creates a video capture object. The argument for it can either be a video device or a file. In this case, we are passing a device index, which is 0. If we have more cameras, then we can pass the appropriate device index based on what camera to choose. If you have one camera, just pass 0.
You can find out the number of cameras and associated device indexes using the following command:
ls -l /dev/video*
Once cam.read()
returns a Boolean value ret
and the frame
which is the image it captured. If the image capture is successful, then...