cv::Scalar是opencv的一个结构体,其定义如下:(c++中的结构体如下,可以存放1~4个数值。)
//! various constructors
Scalar_();
Scalar_(_Tp v0, _Tp v1, _Tp v2=0, _Tp v3=0);
Scalar_(_Tp v0);
表示图像颜色时,单通道图像用下标[0]即可,三通道图像用下标[0]、[1]、[2]分别表示B、G、R通道
其中:
白色:rgb(255,255,255)
黑色:rgb(0,0,0)
红色:rgb(255,0,0)--bgr(0,0,255)
绿色:rgb(0,255,0)
蓝色:rgb(0,0,255)--bgr(255,0,0)
青色:rgb(0,255,255)--bgr(255,255,0)
紫色:rgb(255,0,255)
黄色:rgb(255,255,0)
灰色:r=g=b
深灰:RGB(128, 128, 128)
淡灰:RGB(192, 192, 192)
这个博文的总结比较好:RGB颜色对照表_雪人见花的博客-CSDN博客_颜色rgb对照表
示例代码:
cv::Scalar color;
if( sameflag[0]==0)
{
color[0]=0;color[1]=0;color[2]=255;//红色
}
if( sameflag[0]==-1)
{
color[0]=100;color[1]=100;color[2]=100;//灰色
}
if( sameflag[0]==100)
{
color[0]=0;color[1]=0;color[2]=0;//黑色
}
cv::Mat::zeros在官网上有三种定义,因为理解起来相对容易,这里把定义放上:
三个参数一次是行、列、类型
static CV_NODISCARD_STD MatExpr cv::Mat::zeros ( int rows,
int cols,
int type
)
//参数 Parameters
rows Number of rows.
cols Number of columns.
type Created matrix type.
示例:
using namespace cv:
......
Mat A;
A = Mat::zeros(3, 3, CV_32F);
两个参数,第一个是(列、行),第二个是类型
static CV_NODISCARD_STD MatExpr cv::Mat::zeros ( Size size,
int type
)
Parameters
size Alternative to the matrix size specification Size(cols, rows) .
type Created matrix type.
static CV_NODISCARD_STD MatExpr cv::Mat::zeros ( int ndims,
const int * sz,
int type
)
Parameters
ndims Array dimensionality.矩阵维度
sz Array of integers specifying the array shape.整数数组用于指定矩阵维度
type Created matrix type.
参考链接:查看截图/图片中制定区域颜色:使用window自带的“画图”软件查看图片某点的RGB值_wzg2016的博客-CSDN博客_如何查看图片的rgb值