Scalar()函数在OpenCV中是用来设置颜色的。
比如下面这个例子:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat rawImg(600, 500, CV_8U, Scalar(0));
imshow("1", rawImg);
waitKey(0);
return 0;
}
新建了一个类型为8位无符号整型的单通道,尺寸为600*500大小的一块图像,并给Scalar赋值(0)。显示图像如下:
如果设置Scalar为255,则显示为纯白色图像,如果设置0~255之间的一个数,则全部显示是灰色图像。
如果你想要设置为彩色的图像,则必须要用三通道的图像。
例如下面的例子:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat rawImg(600, 500, CV_8UC3, Scalar(255, 0, 0));
imshow("1", rawImg);
waitKey(0);
return 0;
}
因为在opencv中是按照BGR的顺序定义的,所以便是蓝绿红。所以只要在Scalar中的相对位置设置就好了。格式Scalar(B,G,R)。