OpenRTM-aist IDL  1.2
CameraCommonInterface.idl
Go to the documentation of this file.
1 /* version 2.0 */
2 
3 #ifndef CAMERACOMMONINTERFACE_IDL
4 #define CAMERACOMMONINTERFACE_IDL
5 
6 #include "BasicDataType.idl"
7 
8 module Img {
9  //============================================================
10  // Definition of basic matrix for image.
11  //============================================================
12  typedef double Vec3[3];
13  typedef double Mat44[4][4];
14 
15  //============================================================
16  //Image Data Structure
17  //============================================================
18 
19  //------------------------------------------------------------
20  // Color Formats Definition
21  // The parameters of CF_XXX are defined by this idl.
22  // The other parameters are cited from FourCC definition.
23  // To obtain the detail information about FourCC formats, please visit
24  // following website:
25  // http://www.fourcc.org/
26  //------------------------------------------------------------
28  {
29  CF_UNKNOWN, //Unknown Color Format
30  CF_RGB, //RGB raw data format
31  CF_GRAY, //8bit gray image data format
32  CF_JPEG, //JPEG image format
33  CF_PNG, //PNG image format
34 
35  //Paramter definitions based on FourCC
36  RGB, //Basic Windows bitmap format
37  RLE8, //Run length encoded 8bpp RGB image
38  RLE, //Run length encoded 4bpp RGB image
39  RAW, //Uncompressed RGB bitmaps
40  RGBA, //Raw RGB with alpha
41  RGBT, //Raw RGB with a transparency field
42  AYUV, //Combined YUV and alpha
43  CLJR, //Cirrus Logic format with 4 pixels packed into a u_int32
44  CYUV, //Essentially a copy of UYUV except that the sense of the height is reserved
45  GREY, //Apparently a duplicate of Y800 and Y8
46  IRAW, //Intel uncompressed YUV
47  IUYV, //Interlaced version of UYUV
48  IY41, //Interlaced version of Y41P
49  IYU1, //12bit format used in mode 2 of the IEEE 1394 Digital Camera 1.04 spec.
50  IYU2, //24 bit format used in mode 0 of the IEEE 1394 Digital Camera 1.04 spec.
51  HDYC, //YUV 4:2:2 (Y sample at every pixel, U and V sampled at every second
52  //pixel horizontally on each line)
53  UYNV, //A direct copy of UYVY registered by NVidia to work around problems in
54  //some old codecs which did not like hardware which offered more than 2
55  //UYVY surfaces.
56  UYVP, //YCbCr 4:2:2 extended precision 10-bits per component in U0Y0V0Y1 order
57  V210, //10-bit 4:2:2 YCrCb equivalent to the Quicktime format of the same name
58  V422, //This is an upside down version of UYVY
59  V655, //16 bit YUV 4:2:2 format registered by Vitec Multimedia
60  VYUV, //Duplicate of YUV2
61  YUNV, //A direct copy of YUY2 registered by NVidia to work around problems in
62  //some old codecs which did not like hardware which offered more than 2
63  //YUY2 surfaces
64  YVYU, //YUV 4:2:2 as for UYVY but with different component ordering within the
65  //u_int32 macropixel
66  Y41P, //YUV 4:1:1 with a packed, 6 byte/4 pixel macroblock structure
67  Y211, //Packed YUV format with Y sampled at every second pixel across each line
68  //and U and V sampled at every fourth pixel
69  Y41T, //Format as for Y41P but the lsb of each Y component is used to signal pixel
70  //transparency
71  Y42T, //Format as for UYVY but the lsb of each Y component is used to signal
72  //pixel transparency
73  YUVP, //YCbCr 4:2:2 extended precision 10-bits per component in Y0U0Y1V0
74  //order
75  Y800, //Simple, single Y plane for monochrome images
76  Y8, //Duplicate of Y800
77  Y16 //16-bit uncompressed grayscale image
78  };
79 
80  //============================================================
81  // Camera Image Data Structure
82  //============================================================
83 
84  //------------------------------------------------------------
85  // Image Data Structure for still image
86  //------------------------------------------------------------
87  struct ImageData
88  {
89  long width;
90  long height;
92  sequence<octet> raw_data;
93  };
94 
95  //------------------------------------------------------------
96  // Camera Intrinsic Parameter Structure
97  //------------------------------------------------------------
99  {
100  double matrix_element[5];
101  sequence<double> distortion_coefficient;
102  };
103 
104  //------------------------------------------------------------
105  // Camera Image Structure
106  //------------------------------------------------------------
107  struct CameraImage
108  {
112  Mat44 extrinsic;
113  };
114 
115  //------------------------------------------------------------
116  // Timed Camera Image Structure
117  // This structure includes time stump.
118  //------------------------------------------------------------
120  {
124  };
125 
126  //============================================================
127  // Multi Camera Image Data Structure
128  //============================================================
129 
130  //------------------------------------------------------------
131  // Multi Camera Image Structure
132  //------------------------------------------------------------
134  {
135  sequence<CameraImage> image_seq;
137  };
138 
139  //------------------------------------------------------------
140  // Time Multi Camera Image Structure
141  // This structure includes time stump.
142  //------------------------------------------------------------
144  {
148  };
149 
150  //============================================================
151  // Camera Device Profile Structure
152  //============================================================
153  struct NamedValue
154  {
155  string name;
156  string value;
157  };
158 
159  typedef sequence<NamedValue> NVList;
160 
162  {
163  string devtypeid;
164  string guid;
165  short unit;
166  string vendor_name;
167  string model_name;
169  NVList properties;
170  };
171 
172  //============================================================
173  // Camera Control Service Interface
174  //============================================================
175 
176  //------------------------------------------------------------
177  // Camera Control Service Interface for image capture
178  //------------------------------------------------------------
180  {
181  oneway void take_one_frame();
182  oneway void take_multi_frames(in long num);
183  oneway void start_continuous();
184  oneway void stop_continuous();
185  void getProfile(out CameraDeviceProfile profile);
186  };
187 }; /* module */
188 
189 #endif /* CAMERACOMMONINTERFACE_IDL */
190 
long width
Definition: CameraCommonInterface.idl:89
CameraIntrinsicParameter intrinsic
Definition: CameraCommonInterface.idl:111
ColorFormat
Definition: CameraCommonInterface.idl:27
long camera_set_id
Definition: CameraCommonInterface.idl:136
long error_code
Definition: CameraCommonInterface.idl:123
Definition: CameraCommonInterface.idl:60
Definition: CameraCommonInterface.idl:107
Definition: CameraCommonInterface.idl:61
sequence< NamedValue > NVList
Definition: CameraCommonInterface.idl:159
string model_name
Definition: CameraCommonInterface.idl:167
sequence< double > distortion_coefficient
Definition: CameraCommonInterface.idl:101
Definition: CameraCommonInterface.idl:47
string value
Definition: CameraCommonInterface.idl:156
RTC::Time tm
Definition: CameraCommonInterface.idl:145
double Vec3[3]
Definition: CameraCommonInterface.idl:12
RTC::Time tm
Definition: CameraCommonInterface.idl:121
string vendor_name
Definition: CameraCommonInterface.idl:166
Definition: CameraCommonInterface.idl:32
Definition: CameraCommonInterface.idl:75
Definition: CameraCommonInterface.idl:30
Definition: CameraCommonInterface.idl:73
Definition: CameraCommonInterface.idl:41
Definition: CameraCommonInterface.idl:37
Definition: CameraCommonInterface.idl:57
Definition: CameraCommonInterface.idl:48
long error_code
Definition: CameraCommonInterface.idl:147
ImageData image
Definition: CameraCommonInterface.idl:110
Definition: CameraCommonInterface.idl:98
Definition: CameraCommonInterface.idl:69
Definition: CameraCommonInterface.idl:43
Definition: CameraCommonInterface.idl:46
Definition: CameraCommonInterface.idl:153
Mat44 extrinsic
Definition: CameraCommonInterface.idl:112
Definition: CameraCommonInterface.idl:77
Definition: CameraCommonInterface.idl:50
Definition: CameraCommonInterface.idl:119
Definition: CameraCommonInterface.idl:58
Definition: CameraCommonInterface.idl:161
Definition: CameraCommonInterface.idl:31
NVList properties
Definition: CameraCommonInterface.idl:169
Definition: BasicDataType.idl:26
Definition: CameraCommonInterface.idl:64
double Mat44[4][4]
Definition: CameraCommonInterface.idl:13
CameraIntrinsicParameter intrinsic
Definition: CameraCommonInterface.idl:168
Definition: CameraCommonInterface.idl:59
long height
Definition: CameraCommonInterface.idl:90
sequence< CameraImage > image_seq
Definition: CameraCommonInterface.idl:135
string devtypeid
Definition: CameraCommonInterface.idl:163
ColorFormat format
Definition: CameraCommonInterface.idl:91
Definition: CameraCommonInterface.idl:71
Definition: CameraCommonInterface.idl:53
Definition: CameraCommonInterface.idl:87
string guid
Definition: CameraCommonInterface.idl:164
Definition: CameraCommonInterface.idl:56
RTC::Time captured_time
Definition: CameraCommonInterface.idl:109
CameraImage data
Definition: CameraCommonInterface.idl:122
Definition: CameraCommonInterface.idl:29
Definition: CameraCommonInterface.idl:51
Definition: CameraCommonInterface.idl:45
Definition: CameraCommonInterface.idl:39
Definition: CameraCommonInterface.idl:76
Definition: CameraCommonInterface.idl:133
Definition: CameraCommonInterface.idl:36
sequence< octet > raw_data
Definition: CameraCommonInterface.idl:92
Definition: CameraCommonInterface.idl:44
Definition: CameraCommonInterface.idl:38
Definition: CameraCommonInterface.idl:49
short unit
Definition: CameraCommonInterface.idl:165
Definition: CameraCommonInterface.idl:143
MultiCameraImage data
Definition: CameraCommonInterface.idl:146
Definition: CameraCommonInterface.idl:66
Definition: CameraCommonInterface.idl:40
Definition: CameraCommonInterface.idl:67
Definition: CameraCommonInterface.idl:179
Definition: CameraCommonInterface.idl:33
Definition: CameraCommonInterface.idl:8
Definition: CameraCommonInterface.idl:42
string name
Definition: CameraCommonInterface.idl:155