How to Use Picamera Library in Python on Raspberry Pi
To use the
picamera library in Python on Raspberry Pi, first install it using pip install picamera. Then, import picamera in your script, create a PiCamera object, and use its methods like capture() to take photos or start_recording() to record videos.Syntax
The basic syntax to use the picamera library involves importing the library, creating a camera object, and calling its methods to capture images or videos.
import picamera: Imports the library.camera = picamera.PiCamera(): Creates a camera object.camera.capture('image.jpg'): Captures a photo and saves it.camera.start_recording('video.h264'): Starts video recording.camera.stop_recording(): Stops video recording.
python
import picamera camera = picamera.PiCamera() camera.capture('image.jpg') # Takes a photo and saves it camera.start_recording('video.h264') # Starts recording video # ... recording in progress ... camera.stop_recording() # Stops recording
Example
This example shows how to take a photo and save it as test.jpg using the picamera library on Raspberry Pi.
python
import picamera import time with picamera.PiCamera() as camera: camera.resolution = (1024, 768) # Set resolution camera.start_preview() # Show preview on screen time.sleep(2) # Wait for camera to adjust camera.capture('test.jpg') # Capture and save image camera.stop_preview()
Output
No console output; a photo named 'test.jpg' is saved in the current directory.
Common Pitfalls
Common mistakes when using picamera include:
- Not waiting before capturing an image, which can cause dark or blurry photos.
- Forgetting to stop video recording, which keeps the camera busy.
- Not running the script with proper permissions or on Raspberry Pi OS with camera enabled.
- Using the library without enabling the camera interface in Raspberry Pi settings.
python
import picamera import time # Wrong: Capturing immediately without delay camera = picamera.PiCamera() camera.capture('bad_photo.jpg') # May be dark or blurry # Right: Adding delay before capture camera = picamera.PiCamera() camera.start_preview() time.sleep(2) # Wait for camera to adjust camera.capture('good_photo.jpg') camera.stop_preview()
Quick Reference
| Method | Description |
|---|---|
| PiCamera() | Creates a camera object |
| capture(filename) | Takes a photo and saves it |
| start_recording(filename) | Starts video recording |
| stop_recording() | Stops video recording |
| start_preview() | Shows camera preview on screen |
| stop_preview() | Stops camera preview |
| resolution = (width, height) | Sets image resolution |
Key Takeaways
Install picamera with pip and enable the camera interface on Raspberry Pi before use.
Create a PiCamera object and use capture() to take photos or start_recording() to record videos.
Always wait a couple of seconds after starting preview before capturing to get clear images.
Remember to stop recording and preview to free the camera for other uses.
Run your Python script with appropriate permissions on Raspberry Pi OS.