Mat類中的Scalar()成員有什麼用呢?先不急着看資料,看下有什麼結果出現吧:先將裏邊的值設爲0
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
Mat rawImg(600, 500, CV_8U, Scalar(0)); //這個Scalar函數有啥作用呢?,我們我猜想是灰度值
//Mat resultImg;
namedWindow("Raw Image");
imshow("Raw Image", rawImg);
waitKey(0);
destroyAllWindows();
imwrite("圖像.jpg",rawImg);
return 0;
}
結果:
再設爲scalar(255),結果:
沒有設置邊框,可以確定是全白的
再設爲150,結果:
果然驗證了是灰度值,但是爲什麼是scalar呢?爲什麼是標量呢?看看彩色圖像吧
將程序做修改如下:
Mat rawImg(600, 500, CV_8UC3, Scalar(255, 0, 0));
然後運行,結果:
然後逐步將參數分別設爲0,255,0,結果:
再設爲0,0,255,結果:
原來scalar是將圖像設置成單一灰度和顏色,怪不得叫scalar。明白了