I'm using opencv2 and V4L2 driver on my pi and have managed to get a tiny picture out of the Raspberry Pi Camera Module with the following script:
#!/usr/bin/env python import cv2 camera_port = 0 #Number of frames to throw away while the camera adjusts to light levels ramp_frames = 60 # Now we can initialize the camera capture object with the cv2.VideoCapture class. # All it needs is the index to a camera port. camera = cv2.VideoCapture(camera_port) # Captures a single image from the camera and returns it in PIL format def get_image(): # read is the easiest way to get a full image out of a VideoCapture object. retval, im = camera.read() return im # Ramp the camera - these frames will be discarded and are only used to allow v4l2 # to adjust light levels, if necessary for i in xrange(ramp_frames): temp = get_image() print("Taking image...") # Take the actual image we want to keep camera_capture = get_image() file = "test_image_1_from_open_cv2.jpg" # A nice feature of the imwrite method is that it will automatically choose the # correct format based on the file extension you provide. Convenient! cv2.imwrite(file, camera_capture) # You'll want to release the camera, otherwise you won't be able to create a new # capture object until your script exits del(camera)
I run the script from the directory that it's located by:
But the image is tiny!
How can I get a normal size picture?