Aupicam
Contents |
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"