为何使用CvScalar

时间:2015-07-23 09:44:08

标签: c++ opencv

我需要帮助理解CvScalar的功能究竟是什么,例如在下面的代码中,标量的任务是什么?

 for( int i = 0; i < faces.size(); i++ )
{
    Point center=Point( faces[i].x + faces[i].width*0.5, faces[i].y + faces[i].height*0.5 );
    circle( image, center,faces[i].width/2,Scalar( 255, 0, 255 ), 4, 8, 0 );
}

1 个答案:

答案 0 :(得分:4)

cvScalar只是一个方便的容器,适用于1,2,3或4个浮点值。 此类元组中数据的含义留给cvScalar的用户。 例如,它们可用于保持平面中的点(2元组),矩形(4元组),RGB颜色(3元组),3-D世界中的点(3元组)等。 cvScalar系统地实现为4元组,未使用的值设置为0.并且您在cvScalar()中分配3个值,它将通过组合这3个值{{{ 1}} 您将在Blue = 255, Green = 0, Red = 255

中获得cvScalar的定义