-
Notifications
You must be signed in to change notification settings - Fork 48
ImageCapture
Typical interface to capture images either synchronously or asynchronously that out library uses is called ImageCaptureInterface or its wrapper ImageCaptureInteraceQt
Image capture usually created by abstract fabric that uses address string to select data provider.
Here are the supported frame sources.
file: (In core)
prec: (In core)
v4l2: (Linux only)
v4l2d: (Linux only)
ueye: (Linux only so far)
dshow: (Windows only)
dshowd: (Windows only)
any: (Windows only - Provided by OpenCV )
vfw: (Windows only - Provided by OpenCV )
ds: (Windows only - Provided by OpenCV )
opencv_file: (Provided by OpenCV )
avcodec: (Provided by LibAVCodec)
rtsp: (Provided by LibAVCodec)
Usage
prec:(PRINTF TEMPLATE)
Full format string:
"^([^,]*)(,(\\d*)/(\\d*))?(,(\\d*)ms)?(,skip)?$"
Examples:
./vimouse prec:../data/pair/image0001%0.0s_c%d.pgm
./vimouse prec:../data/pair/image%04d_c%d.pgm
You can specify the delay between frames, simulating different FPS. There are two ways to do it
./bin/recorder prec:../data/pair/image%04d_c%d.pgm,1/10
./bin/recorder prec:../data/pair/image%04d_c%d.pgm,100ms
Examples
recorder.exe dshow:0,1:1/30:800x600
recorder.exe dshow:0,1:1/30:fjpeg:1280x720
Recommended:
recorder.exe dshow:0,1:1/30:fjpeg:960x544
Note you should precisely specify the right parameters, DShow won't adopt to the nearest ones.
This is useful with Black China camera.
./bin/recorder dshowd:0:1/30:rc
This works only for Linux
./bin/recorder v4l2:/dev/video0,/dev/video1:1/30:fjpeg:640x480
./bin/recorder v4l2:/dev/video0,/dev/video1:1/30:yuyv:640x480
Single camera
./bin/recorder v4l2:/dev/video0
This works only for Linux. This is useful with Black China camera.
./bin/recorder v4l2d:/dev/video0:1/30:640x480:rc
./bin/recorder v4l2d:/dev/video0:1/30:640x480:rcf
./bin/recorder v4l2d:/dev/video0:1/30:1280x480:sbs
Edit this section
More info here
To enumerate and setup the cameras you can use "sudo ueyecameramanager". To test the cameras, you can use "ueyedemo". With this tools you can play with the parameters and see what is the impact on the image.
UEye framesource allows to set up the following parameters
Pixel Clock (default value 85MHz.) FPS (default is 50fps) Binning Global/Rolling shutter
./bin/vimouse ueye:1001,1002:85mhz:50fps:x2:global:esync
\ / | | | | |
| | | | | \---> Sychronization type (esync, fsync, hsync)
| | | | \---------> Shutter type (rolling, global)
| | | \--------------> Binning - reduce image by factor of 2 on camera( x1 and x2 are supported for our cams)
| | \-------------------> FPS (in esync high fps are unavailable)
| \-------------------------> Pixel clock
\---------------------------------> Device ids