openCV学习笔记-Mat类的七种显示创建

来源:互联网 发布:js页面跳转含中文乱码 编辑:程序博客网 时间:2024/06/14 03:13
#include<opencv2/opencv.hpp>using namespace cv;using namespace std;/*===================Mat七种显示创建方法===================*/int main(int argc, char** argv){//方法一:使用Mat()类构造函数Mat m1(2, 2, CV_8UC3, Scalar(1, 2, 3));//CV_8UC3 表示CV【位数】【有无符号】【类型前缀】C【通道数】cout<<"m1:"<<endl<<m1<<endl;//方法二:构造函数进行初始化int sz[3] = {2,2,2};Mat m2(3,sz,CV_8UC1,Scalar::all(0));//这是三维的,无法在控制台显示//方法三:为lpImgae* 指针创建头信息(就是lpImage转Mat)IplImage *img = cvLoadImage("1.jpg");Mat m3(img);imshow("img->Mat",m3);waitKey(0);//方法四:利用create()函数,此方法不能赋初值Mat m4;m4.create(4,4,CV_8UC(2));cout<<"m4"<<endl<<m4<<endl;//方法五:用matlab方式Mat m5 = Mat::eye(4,4,CV_64F);Mat m52 = Mat::ones(2,2,CV_32F);Mat m53 = Mat::zeros(3,3,CV_8UC1);//方法六:对小矩阵用逗号分隔式的方式初始化Mat m6 = (Mat_<double>(3,3)<<1,2,3,4,5,6,7,8,9);cout<<"m6:"<<endl<<m6<<endl;//方法七:使用copyto函数Mat srcImage;Mat m7;srcImage.copyTo(m7);return 0;}

0 0