Aupicam
Raspberry PI camera
This plugin uses the android driver for Raspberry Pi camera.
To compile the 'userland-master' driver must be installed - as described on the installation page (Install on raspberry)
Use
The plugin has possibility to set camera parameters (shutter, white ballance, exposure metering and gain) along with image size (up to 2048 x 2048) at framerates up to 30.
CPU load is 10% at 30 fps and image size of 1024 x 512.
The driver can generate a pyramid of images with halved resolution - using the graphics processor.
camera plugin configuration
silent=1 (rw) show less messages to console
updCnt=0 (r) Number of updates
framerate=2 0 (rw) [desired, measured] (frames/sec)
resolution=512 1024 (rw) resolution (height x width) max 2048x2048
pyramidLevels=4 (rw) number of halfed image size levels
shutter=0 0 (rw) 0 is auto, else in usec
gain=0 0 (rw) ISO (analog) 0:auto, gain from ~50 to ~2000
exposeMode=1 1 (rw) exposure mode 0:off, 1:auto, 2:night, 4:backlight,
5:spotlight, 6:sport, 7:snow,
8:beach,10:noshake,11:fireworks
meter=1 1 (rw) exposure meter 0:avg, 1: spot, 2: backlit. 3: matrix
white=1 1 (rw) White ballance 0:off, 1:auto, 2:sun, 3:cloud,
4:shade, 5: tungsten, 6:flurorescent, 7:incandecent,
8:flash, 9:horizon
camDeviceNum=13 (r/w) index to camera info (and image number)
open=1 1 (rw) [0]: set to 0 to close set to 1 to open, [1]:
0:isclosed 1:isopen
time=1431868466.6728 (r) Time at last update
imageLogN=0 (rw) log images (color and depth) every Nth imageset (0 =
close log)
All configuration settings has two values, first is desired, second is reported by camera.
ucamserver.ini file
Possible camera configuration. Focal length is not measured.
# camera server scriptfile server imagepath="." server datapath="." server replayPath="log" module load=var module load=odopose module load=mappose module load=utmpose module load=augps.so.0 module load=mapbase.so.0 module load=aupoly.so.0 # camera parameters camset device=13 focallength=715 camset device=13 posX=0.04 posy=0.0 posZ=0.3 rotPhi=0.1 # module load=aupicam.so.0 var picam.resolution="1024 512" var picam.framerate=3 var picam.pyramidLevels=4 picam open var picam.white=7 var picam.imagelogn=1
Recording
Images can be recorded at about 5 images per second size (1024 x 512) - format is YUV420 (raw camera format). The saved images is in BMP-format, but the image itself is still YUV420, so it looks werd in a BMP viewer.
The recorded images can be replayed using the camera pool utility.
Replay
In a replay directory make a subdirectory called log/rawimg. Copy all images to this directory.
Move the picamImage.log to the log/ directory and rename it to image.log
ucamserver.ini for replay
Set the replay path to log, as shown here
server imagepath="." server datapath="." server replayPath="log" module load=var module load=odopose module load=aupoly.so.0 # camera parameters camset device=13 focallength=715 camset device=13 posX=0.04 posy=0.0 posZ=0.3 rotPhi=0.1 camset replay camset step
You may add the pyramide image creation as on the Raspberry:
poolpush img=13 cmd="poolget img=13 toimg=14 scale=0.5" poolpush img=14 cmd="poolget img=14 toimg=15 scale=0.5"