opencv學習(3)關於Mat類中的Scalar()

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。明白了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章