opencv第3讲--opencv中图像创建与赋值
1. C++中的Mat对象
Mat的数据结构

2.代码:
void QuickDemo::mat_creation_demo(Mat& image)
{
//创建方法--克隆
Mat m1 = image.clone(); //深拷贝
//复制
Mat m2;
image.copyTo(m2); //深拷贝
//赋值法
Mat m3 = image; //浅拷贝
//创建空白图像
Mat m4 = Mat::zeros(image.size(), image.type()); //根据输入图像的大小和通道数量创建数据
Mat m5 = Mat::zeros(Size(8, 8), CV_8UC3); // 无符号的8为的unsigned char 的三通道图像数据
cout << m5 << endl;
cout << m5.cols << endl; //打印宽度
cout << m5.rows << endl; //打印高度
cout << m5.channels() << endl; //打印通道数量
//创建初始数值全是1的一个数据图像,但是只能应用到单通道,多通道初始数据是1 0 0
Mat m6 = Mat::ones(Size(8, 8), CV_8UC1);
m6 = 127; //数据编程了127 0 0...
//如果想把多通道的数值都发生改变
m6 = Scalar(127,127,127); //全部数据变为127
//Mat kernel = (Mat_<char>(3, 3) <<
// 0, -1, 0,
// -1, 5, -1,
// 0, -1, 0);
}
posted on 2021-12-20 23:03 xcxfury001 阅读(352) 评论(0) 收藏 举报
浙公网安备 33010602011771号