======The Lirec camera & Linux======
The official lirec camera is:
* [[http://www.theimagingsource.com/|Imaging Source]] DFK 31AF03-Z
===Getting it working===
* After plugging the camera in, you may need to do:
modprobe raw1394
modprobe video1394
chmod 777 /dev/raw1394
chmod 777 /dev/video1394
* Use [[http://damien.douxchamps.net/ieee1394/coriander/|Coriander]] to test the camera
To get an image working it's a bit picky - you have to press the buttons in the following order:
- In the services tab click 'Receive' at the top
- Then in the ISO Control box in the same tab, click 'Start'
- Click 'Display' at the top
To test OpenCV, install libunicap from [[http://unicap-imaging.org]], then rebuild opencv by rerunning:
./configure --use-unicap=yes
The examples in libunicap are very useful for debugging, such as device_info, raw_image and sdl_display. There is also an OpenCV example here.
===Getting debayering working in coriander===
- In services tab again, in Format select 'Format_1, Mode_5:1024x768 Mono 8bpp'
- In options click Nearest and GBRG
- In Trigger you should be able to select 30fps
You can also get OpenCV to read from this mode, but it will get the raw image directly.
===Getting the camera working with OpenCV===
The caminfo for OpenCV I used for the raw image was as follows (I think Marek has a better way):
static struct caminfo cameras[] =
{
{
handle: NULL,
device_identifier: "Imaging Source DFx 31AF03-Z 1940800048",
fourcc: UCIL_FOURCC( 'Y', '8', '0', '0' ),
format_size: { 0, 0, 1024, 768 },
window: "Camera 1",
image: NULL,
properties: camera0_properties,
property_count: sizeof( camera0_properties ) / sizeof( unicap_property_t ),
cascade: NULL,
storage: NULL,
},
};
===Using OpenCV for the debayering===
OpenCV has a built in debayering algorithm, as part of it's colour space conversions. The one which works with the lirec camera is:
cvCvtColor(bayerimage, rgbimage, CV_BayerGB2RGB);
Where the input is a 1 channel image and the output is 3 channel RGB image.
==The bayer pattern image, raw data from the camera CCD==
{{:lirec:bayerpattern.png|}}
==Converted to RGB==
{{:lirec:bayerrgb.png|}}