OpenCV学习笔记三:Mat构造函数 初始化 完全复制 获取指针 像素(灰度)值

#include
#include
using namespace std;
using namespace cv;
int main(int argc, char**argv)
{
	Mat src = imread("D:/vs2013新建项目/learn.png");
	if (src.empty())
	{
		cout << "could not load...\n" << endl;
		return -1;
	}
	imshow("input", src);
	//Mat dst;
	//dst = Mat(src.size(), src.type());   //初始化了一张图片,定义了一张空图,只是大小和类型和src一样
	//dst = Scalar(0, 0, 255);             //给这张空图赋像素
	Mat dst(src.size(), src.type(), Scalar(0, 0,255));//与上面注掉的三行相同效果
	imshow("dst image", dst);

	/*
	dst= src.clone();                           //src.copyTo(dst); 完全拷贝
	imshow("output", dst);                      //显示拷贝的图片
	*/
	/*
	cvtColor(src, dst, CV_BGR2GRAY);
	printf("input image channels:%d\n", src.channels());//BGR图像的通道数
	printf("output image channels:%d\n", dst.channels());//灰度图的通道数
	imshow("output", dst);                             //显示转换后的灰度图
	int row = dst.rows;
	int col = dst.cols;
	printf("row:%d col:%d\n", row, col);//打印行数和列数
	const uchar*firstRow = dst.ptr(0);//获取第一个像素的灰度值
	printf("first pixel value:%d\n", *firstRow);//打印第一个像素灰度值
	*/
	/*
	Mat M(3, 3, CV_8UC3, Scalar(0,0,255));         //初始化一张大小3*3,8位无符号3通道 每个像素分量0,0,255,R上255 红图
	cout << "M=" << endl << M << endl;
	imshow("M", M);
	*/
	waitKey(0);
	return 0;
}

你可能感兴趣的:(OpenCV)