her*_*tao 52
对于灰度图像:
cv::Mat m(100, 100, CV_8UC1); //gray
m = Scalar(5); //used only Scalar.val[0]
Run Code Online (Sandbox Code Playgroud)
要么
cv::Mat m(100, 100, CV_8UC1); //gray
m.setTo(Scalar(5)); //used only Scalar.val[0]
Run Code Online (Sandbox Code Playgroud)
要么
Mat mat = Mat(100, 100, CV_8UC1, cv::Scalar(5));
Run Code Online (Sandbox Code Playgroud)对于彩色图像(例如3个通道)
cv::Mat m(100, 100, CV_8UC3); //3-channel
m = Scalar(5, 10, 15); //Scalar.val[0-2] used
Run Code Online (Sandbox Code Playgroud)
要么
cv::Mat m(100, 100, CV_8UC3); //3-channel
m.setTo(Scalar(5, 10, 15)); //Scalar.val[0-2] used
Run Code Online (Sandbox Code Playgroud)
要么
Mat mat = Mat(100, 100, CV_8UC3, cv::Scalar(5,10,15));
Run Code Online (Sandbox Code Playgroud)PS:如果您还想知道如何在不改变其他通道的情况下有效地将a的给定通道设置为给定值,请查看此主题cv::Mat.
cv::Mat已实现赋值运算符以允许赋值cv::Scalar如下:
// Create a greyscale image
cv::Mat mat(cv::Size(cols, rows), CV_8UC1);
// Set all pixel values to 123
mat = cv::Scalar:all(123);
Run Code Online (Sandbox Code Playgroud)
该文档描述:
Mat&Mat :: operator =(const Scalar&s)
s - 为每个矩阵元素分配的标量.矩阵大小或类型不会更改.
以另一种方式,您可以使用
喜欢
Mat src(480,640,CV_8UC1);
src.setTo(123); //assign 123
Run Code Online (Sandbox Code Playgroud)