我需要帮助来理解 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 );
}

最佳答案

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

关于c++ - 为什么使用 CvScalar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31583694/

10-10 09:27