These are my notes on how I got OpenCV running on the Raspberry Pi today with a webcam. On this post you can find the Debian version that I did earlier.
- Install Arch Linux ARM from image, use this guide.
- Expand linux parition, also detailed on the same guide.
- Configure copying arm224_start.elf to start.elf to get more memory for the apps
- Configure networking: edit /etc/rc.conf and /etc/resolv.conf. Check this topic
- Modify pacman configuration /etc/pacman.conf to use curl to download packages for my slow connection by uncommenting the line:
XferCommand = /usr/bin/curl -C - -f %u > %o
- I tried several times to update pacman and system using
pacman -Syu
but some errors about udev and libusb were found, and I finally gave up with this step. At last, everything worked except lxde which I don’t need, so I’ll check this back some other time.
- Install lxde. I’m not sure if some libraries installed by this are useful to OpenCV.
pacman -S lxde xorg-xinit xf86-video-fbdev
- lxde didn’t worked: every time I tried to xinit, it throwed a error about libudev.so.1 not being found.
- Install python2 (which was already installed but was updated), numpy, opencv and samples:
pacman -S python2 python2-numpy opencv opencv-samples
- Finally I run a simple test I use to open the webcam stream, take a frame and save it. It didn’t worked immediatly since I found that a Dell multimedia keyboard I had attached to a USB hub with my DIY USB powered cable with the webcam had some issues. But after solving it, the camera works and saves the image. The sample is this:
import cv2.cv as cv import time #cv.NamedWindow("camera", 1) #capture = cv.CaptureFromCAM(-1) capture = cv.CreateCameraCapture(1) #cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FPS, 3) cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH, 1280) cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT, 720) img = cv.QueryFrame(capture) print "Captured " cv.SaveImage("output.jpg",img)