首页 > 其他 > 详细

CvScalar

时间:2017-02-22 22:43:28      阅读:265      评论:0      收藏:0      [点我收藏+]

CvScalar定义可存放1—4个数值的数值,其结构如下。

typedef struct CvScalar
{
    double val[4];
}
CvScalar;

------------------------------------------------

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了。

 

【补充】:

CvScalar s = cvSum(arr);
s.val[0]:数组arr中的B通道值的和,double类型
s.val[1]:数组arr中的G通道值的和,double类型
s.val[2]:数组arr中的R通道值的和,double类型
s.val[3]:数组arr中的alphe通道值的和,double类型

 

 

  1.     for (int i=0; i<src->height; i++)  
  2.     {  
  3.         for (int j=0; j<src->width; j++)  
  4.         {  
  5.             CvScalar color=cvGet2D(src, i, j);  
  6.             cvSet2D(res, i, N-j-1, color);//注意这里  
  7.         }  
  8.     }  

CvScalar

原文:http://www.cnblogs.com/Peit/p/6431146.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!