Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
lirec:firewire_camera_notes [2009-03-24 16:37] 161.23.251.227lirec:firewire_camera_notes [2009-05-08 12:49] davegriffiths
Line 5: Line 5:
   * [[http://www.theimagingsource.com/|Imaging Source]] DFK 31AF03-Z   * [[http://www.theimagingsource.com/|Imaging Source]] DFK 31AF03-Z
  
-===Howto===+===Getting it working===
  
   * After plugging the camera in, you may need to do:   * After plugging the camera in, you may need to do:
Line 18: Line 18:
   * Use [[http://damien.douxchamps.net/ieee1394/coriander/|Coriander]] to test the camera   * Use [[http://damien.douxchamps.net/ieee1394/coriander/|Coriander]] to test the camera
  
-To get an image you have to press the buttons in the following order:+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   - In the services tab click 'Receive' at the top
Line 34: Line 34:
   - In Trigger you should be able to select 30fps   - 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. This is where we might need a debayer algorithm.+You can also get OpenCV to read from this mode, but it will get the raw image directly. This is where we might need a debayer algorithm. The caminfo for OpenCV I used for the raw image was as follows (I think Marek has a better way): 
 + 
 +<code> 
 +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, 
 +   }, 
 +}; 
 +</code> 
 + 
 +===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: 
 +<code>cvCvtColor(bayerimage, rgbimage, CV_BayerGB2RGB);</code> 
 +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|}} 
  • lirec/firewire_camera_notes.txt
  • Last modified: 2009-05-08 12:55
  • by davegriffiths