[openrtm-commit:01464] r2570 - trunk/OpenRTM-aist/src/lib/rtm/idl
openrtm @ openrtm.org
openrtm @ openrtm.org
2014年 7月 22日 (火) 17:31:26 JST
Author: kawauchi
Date: 2014-07-22 17:31:26 +0900 (Tue, 22 Jul 2014)
New Revision: 2570
Added:
trunk/OpenRTM-aist/src/lib/rtm/idl/CameraCommonInterface.idl
Log:
File name has been changed from Img.idl to CameraCommonInterface.idl.
Copied: trunk/OpenRTM-aist/src/lib/rtm/idl/CameraCommonInterface.idl (from rev 2569, trunk/OpenRTM-aist/src/lib/rtm/idl/Img.idl)
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/idl/CameraCommonInterface.idl (rev 0)
+++ trunk/OpenRTM-aist/src/lib/rtm/idl/CameraCommonInterface.idl 2014-07-22 08:31:26 UTC (rev 2570)
@@ -0,0 +1,190 @@
+/* version 2.0 */
+
+#ifndef CAMERACOMMONINTERFACE_IDL
+#define CAMERACOMMONINTERFACE_IDL
+
+#include "BasicDataType.idl"
+
+module Img {
+ //============================================================
+ // Definition of basic matrix for image.
+ //============================================================
+ typedef double Vec3[3];
+ typedef double Mat44[4][4];
+
+ //============================================================
+ //Image Data Structure
+ //============================================================
+
+ //------------------------------------------------------------
+ // Color Formats Definition
+ // The parameters of CF_XXX are defined by this idl.
+ // The other parameters are cited from FourCC definition.
+ // To obtain the detail information about FourCC formats, please visit
+ // following website:
+ // http://www.fourcc.org/
+ //------------------------------------------------------------
+ enum ColorFormat
+ {
+ CF_UNKNOWN, //Unknown Color Format
+ CF_RGB, //RGB raw data format
+ CF_GRAY, //8bit gray image data format
+ CF_JPEG, //JPEG image format
+ CF_PNG, //PNG image format
+
+ //Paramter definitions based on FourCC
+ RGB, //Basic Windows bitmap format
+ RLE8, //Run length encoded 8bpp RGB image
+ RLE, //Run length encoded 4bpp RGB image
+ RAW, //Uncompressed RGB bitmaps
+ RGBA, //Raw RGB with alpha
+ RGBT, //Raw RGB with a transparency field
+ AYUV, //Combined YUV and alpha
+ CLJR, //Cirrus Logic format with 4 pixels packed into a u_int32
+ CYUV, //Essentially a copy of UYUV except that the sense of the height is reserved
+ GREY, //Apparently a duplicate of Y800 and Y8
+ IRAW, //Intel uncompressed YUV
+ IUYV, //Interlaced version of UYUV
+ IY41, //Interlaced version of Y41P
+ IYU1, //12bit format used in mode 2 of the IEEE 1394 Digital Camera 1.04 spec.
+ IYU2, //24 bit format used in mode 0 of the IEEE 1394 Digital Camera 1.04 spec.
+ HDYC, //YUV 4:2:2 (Y sample at every pixel, U and V sampled at every second
+ //pixel horizontally on each line)
+ UYNV, //A direct copy of UYVY registered by NVidia to work around problems in
+ //some old codecs which did not like hardware which offered more than 2
+ //UYVY surfaces.
+ UYVP, //YCbCr 4:2:2 extended precision 10-bits per component in U0Y0V0Y1 order
+ V210, //10-bit 4:2:2 YCrCb equivalent to the Quicktime format of the same name
+ V422, //This is an upside down version of UYVY
+ V655, //16 bit YUV 4:2:2 format registered by Vitec Multimedia
+ VYUV, //Duplicate of YUV2
+ YUNV, //A direct copy of YUY2 registered by NVidia to work around problems in
+ //some old codecs which did not like hardware which offered more than 2
+ //YUY2 surfaces
+ YVYU, //YUV 4:2:2 as for UYVY but with different component ordering within the
+ //u_int32 macropixel
+ Y41P, //YUV 4:1:1 with a packed, 6 byte/4 pixel macroblock structure
+ Y211, //Packed YUV format with Y sampled at every second pixel across each line
+ //and U and V sampled at every fourth pixel
+ Y41T, //Format as for Y41P but the lsb of each Y component is used to signal pixel
+ //transparency
+ Y42T, //Format as for UYVY but the lsb of each Y component is used to signal
+ //pixel transparency
+ YUVP, //YCbCr 4:2:2 extended precision 10-bits per component in Y0U0Y1V0
+ //order
+ Y800, //Simple, single Y plane for monochrome images
+ Y8, //Duplicate of Y800
+ Y16 //16-bit uncompressed grayscale image
+ };
+
+ //============================================================
+ // Camera Image Data Structure
+ //============================================================
+
+ //------------------------------------------------------------
+ // Image Data Structure for still image
+ //------------------------------------------------------------
+ struct ImageData
+ {
+ long width;
+ long height;
+ ColorFormat format;
+ sequence<octet> raw_data;
+ };
+
+ //------------------------------------------------------------
+ // Camera Intrinsic Parameter Structure
+ //------------------------------------------------------------
+ struct CameraIntrinsicParameter
+ {
+ double matrix_element[5];
+ sequence<double> distortion_coefficient;
+ };
+
+ //------------------------------------------------------------
+ // Camera Image Structure
+ //------------------------------------------------------------
+ struct CameraImage
+ {
+ RTC::Time captured_time;
+ ImageData image;
+ CameraIntrinsicParameter intrinsic;
+ Mat44 extrinsic;
+ };
+
+ //------------------------------------------------------------
+ // Timed Camera Image Structure
+ // This structure includes time stump.
+ //------------------------------------------------------------
+ struct TimedCameraImage
+ {
+ RTC::Time tm;
+ CameraImage data;
+ long error_code;
+ };
+
+ //============================================================
+ // Multi Camera Image Data Structure
+ //============================================================
+
+ //------------------------------------------------------------
+ // Multi Camera Image Structure
+ //------------------------------------------------------------
+ struct MultiCameraImage
+ {
+ sequence<CameraImage> image_seq;
+ long camera_set_id;
+ };
+
+ //------------------------------------------------------------
+ // Time Multi Camera Image Structure
+ // This structure includes time stump.
+ //------------------------------------------------------------
+ struct TimedMultiCameraImage
+ {
+ RTC::Time tm;
+ MultiCameraImage data;
+ long error_code;
+ };
+
+ //============================================================
+ // Camera Device Profile Structure
+ //============================================================
+ struct NamedValue
+ {
+ string name;
+ string value;
+ };
+
+ typedef sequence<NamedValue> NVList;
+
+ struct CameraDeviceProfile
+ {
+ string devtypeid;
+ string guid;
+ short unit;
+ string vendor_name;
+ string model_name;
+ CameraIntrinsicParameter intrinsic;
+ NVList properties;
+ };
+
+ //============================================================
+ // Camera Control Service Interface
+ //============================================================
+
+ //------------------------------------------------------------
+ // Camera Control Service Interface for image capture
+ //------------------------------------------------------------
+ interface CameraCaptureService
+ {
+ oneway void take_one_frame();
+ oneway void take_multi_frames(in long num);
+ oneway void start_continuous();
+ oneway void stop_continuous();
+ void getProfile(out CameraDeviceProfile profile);
+ };
+}; /* module */
+
+#endif /* CAMERACOMMONINTERFACE_IDL */
+
More information about the openrtm-commit
mailing list