1

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:

sudo ./videocaprure_opencv2.py

But the image is tiny!

How can I get a normal size picture?

reggie
  • 1,121
  • 4
  • 14
  • 30

1 Answers1

0

You should set the image size before starting to capture, as by default the image is the smallest possible.

Strunz
  • 60
  • 1