======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|}}