编程论坛's Archiver

flyingcloude 发表于 2008-5-13 21:05

求助openCv

路过的大侠帮小弟解释下下面的代码吧,在此先谢谢拉
typedef struct CvMat
{
  int type; /* CvMat 标识 (CV_MAT_MAGIC_VAL), 元素类型和标记 */
  int step; /* 以字节为单位的行数据长度*/
  int* refcount; /* 数据引用计数 */
  union
   {
    uchar* ptr;
    short* s;
    int* i;
    float* fl;
    double* db;
   } data; /* data 指针 */
  #ifdef __cplusplus
  union
   {
     int rows;
     int height;
   };
  union
   {
     int cols;
     int width;
   };
  #else
   int rows; /* 行数 */
   int cols; /* 列数*/
  #endif
} CvMat;

flyingcloude 发表于 2008-5-14 17:42

自己顶下

flyue 发表于 2008-5-14 18:38

typedef struct CvMat    //CvMat结构体
{
  int type; /* CvMat 标识 (CV_MAT_MAGIC_VAL), 元素类型和标记 */
  int step; /* 以字节为单位的行数据长度*/
  int* refcount; /* 数据引用计数 */
  union    //联合体
   {
    uchar* ptr;
    short* s;
    int* i;
    float* fl;
    double* db;
   } data; /* data 指针 */
  #ifdef __cplusplus    //如果定义了__cplusplus宏
  union
   {
     int rows;
     int height;
   };
  union
   {
     int cols;
     int width;
   };
  #else
   int rows; /* 行数 */
   int cols; /* 列数*/
  #endif
} CvMat;    //CvMat结构体第二名称

flyingcloude 发表于 2008-5-14 22:42

谢谢LS
不过这个联合体是做什么用的?
union    //联合体
   {
    uchar* ptr;
    short* s;
    int* i;
    float* fl;
    double* db;
   } data; /* data 指针 */

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.