Difference between revisions of "Video Input from a Raspberry Pi B+ Camera Module"
Line 2: | Line 2: | ||
==Step 1: Import OpenCV into your Python File== | ==Step 1: Import OpenCV into your Python File== | ||
− | Assuming that you've successfully installed OpenCV on your Raspberry Pi B+, you need to include <code>import cv2</code | + | Assuming that you've successfully installed OpenCV on your Raspberry Pi B+, you need to include <code>import cv2</code> at the top of your .py project file. This will allow you to use the OpenCV methods necessary to access the camera module's video feed. |
==Step 2: Specify Location, Length, and FPS== | ==Step 2: Specify Location, Length, and FPS== | ||
Line 15: | Line 15: | ||
For example, under the previously described import statement: <code>[vid_loc,vid_len,vid_fps]=['/home/pi/Desktop/v2a.h264','5000','90']</code> | For example, under the previously described import statement: <code>[vid_loc,vid_len,vid_fps]=['/home/pi/Desktop/v2a.h264','5000','90']</code> | ||
− | ==Step 3: | + | ==Step 3: Pass Video Preferences to Raspberry Pi's OS== |
− | Next, you need to include | + | Next, you need to include code that sends your video preferences to the Pi's operating system, so it knows how you would like your video recorded. For example: |
<blockquote> | <blockquote> | ||
<code>stem='raspivid -w 640 -h 480 -fps '</code><br> | <code>stem='raspivid -w 640 -h 480 -fps '</code><br> | ||
Line 22: | Line 22: | ||
</blockquote> | </blockquote> | ||
+ | ==Step 4: Capture the Video== | ||
+ | Use the VideoCapture method in OpenCV with the video location as the only parameter to capture the video from the camera module. The line of code you write should look like this: <code>cap = cv2.VideoCapture(vid_loc)</code> | ||
[[Category:HowTos]] | [[Category:HowTos]] |
Revision as of 06:58, 4 May 2016
In developing my project, FingerSpark, I found a number of conflicting sources on how to access the video feed from the Raspberry Pi B+ using OpenCV, many of which do not work. The following guide is designed to help you quickly and efficiently work recording video into your project. Please note that my instructions were tested using Python 2 with OpenCV.
Contents
Step 1: Import OpenCV into your Python File
Assuming that you've successfully installed OpenCV on your Raspberry Pi B+, you need to include import cv2
at the top of your .py project file. This will allow you to use the OpenCV methods necessary to access the camera module's video feed.
Step 2: Specify Location, Length, and FPS
Next, I would suggest creating global variables for:
1. The location on the Raspberry Pi where you would like to save your video clip, which will include the clip's name (it's usually best to use an absolute path in case you end up moving your project file)
2. The intended duration (in milliseconds) of your video clip
3. The number of frames per second in your video (I successfully tested values up to 90 FPS)
For example, under the previously described import statement: [vid_loc,vid_len,vid_fps]=['/home/pi/Desktop/v2a.h264','5000','90']
Step 3: Pass Video Preferences to Raspberry Pi's OS
Next, you need to include code that sends your video preferences to the Pi's operating system, so it knows how you would like your video recorded. For example:
stem='raspivid -w 640 -h 480 -fps '
os.system(stem+vid_fps+' -t '+vid_len+' -o '+vid_loc)
Step 4: Capture the Video
Use the VideoCapture method in OpenCV with the video location as the only parameter to capture the video from the camera module. The line of code you write should look like this: cap = cv2.VideoCapture(vid_loc)