CvScalar
可存放在1-,2-,3-,4-TUPLE类型的捆绑数据的容器
该函数包含4个浮点成员,可以用来表示B(Blue),G(Green),R(Red),Alpha(表示图像的透明度)
typedef struct CvScalar
{
double val[4]
}
CvScalar;
/* 构造函数:用val0初始化val[0]用val1初始化val[1], 以此类推*/
inline CvScalar cvScalar( double val0, double val1=0,
double val2=0, double val3=0 );
/* 构造函数:用val0123初始化所有val[0]...val[3] */
inline CvScalar cvScalarAll( double val0123 );
/* 构造函数:用val0初始化val[0],用0初始化val[1],val[2],val[3] */
inline CvScalar cvRealScalar( double val0 );
下面的来自(freeboy1015)的内容
------------------------------------------------
CvScalar pt;
如果使用的图像是1通道的,则pt.val[0]中存储数据
如果使用的图像是3通道的,则pt.val[0],pt.val[1],pt.val[2]中存储数据
==============================
cvGet2D 获得某个点的值, idx0=hight 行值, idx1=width 列值。
CVAPI(CvScalar) cvGet2D( const CvArr* arr, int idx0, int idx1 );
-----------------------------------------------
cvSet2D 给某个点赋值。
CVAPI(void) cvSet2D( CvArr* arr, int idx0, int idx1, CvScalar value );
-----------------------------------------------
由上可见,cvGet2D的返回类型和cvSet2D中value的类型都是CvScalar,这样定义一个CvScalar变量再调用函数就OK了。