Use Raspberry Pi Camera Board to Capture Images and Video
This example shows how to create a connection to the Camera Board, capture still images, and record video.
Create a connection to the Raspberry Pi® hardware using raspi
.
mypi = raspi
Create a connection to the Camera Board and assign the connection to a handle,
mycam
. You can use Name-Value pairs to override the default values of
most properties, like the Resolution
property, shown here.
mycam = cameraboard(mypi,'Resolution','1280x720')
mycam = cameraboard with properties: Name: Camera Board Resolution: '1280x720' (View available resolutions) Rotation: 0 (0, 90, 180 or 270) HorizontalFlip: 0 VerticalFlip: 0 FrameRate: 30 (2 to 30) Recording: 0 Quality Brightness: 50 (0 to 100) Contrast: 0 (-100 to 100) Saturation: 0 (-100 to 100) Sharpness: 0 (-100 to 100) Exposure and AWB ExposureMode: 'auto' (View available exposure modes) ExposureCompensation: 0 (-10 to 10) AWBMode: 'auto' (View available AWB modes) MeteringMode: 'average' (View available metering modes) Effects ImageEffect: 'none' (View available image effects) VideoStabilization: 'off' ROI: [0.00 0.00 1.00 1.00] (0.0 to 1.0 [top, left, width, height])
Capture and display a sequence of ten snapshots on your host computer.
for ii = 1:10 img = snapshot(mycam); imagesc(img); drawnow; end
Each of the 10 snapshots is the latest image captured by the camera.
If the image is upside down, change the orientation of the image.
mycam.Rotation = 180
Read eight images as a 4-D array with timestamp, with the oldest image being returned first.
[imagedata,ts] = readFrame(mypi,8);
You can change the values of many mycam
properties listed in the
"Name-Value Pair Arguments" for cameraboard
.
Record a 10 second video.
record(mycam,'myvideo.h264',10)
Before the specified number of seconds have elapsed, you can stop recording video.
stop(mycam)
Copy the video from the board to your host computer.
getFile(mypi,'myvideo.h264','C:\MATLAB')
To free up space, delete the video from the board.
deleteFile(mypi,'myvideo.h264')