Mat的创建方式
注意:
Mat a(行, 列, CV_8U); //CV_8U默认205
Mat a(Size(宽, 高), CV_8U);
创建与已有img等大小的矩阵:
将下列代码中的2,2都可以换成img.size(), img单通道对应CV_8U,三通道对应CV_8UC3。一般使用8位就可以。16、32不推荐。
#include<iostream> #include<opencv2/opencv.hpp> using namespace std; using namespace cv; int main() { //Scalar自定义 Mat a3(2, 2, CV_8UC3, Scalar(255,0,0));// 三通道 cout << "三通道" << endl << " " << a3 << endl; Mat a1(2, 2, CV_8U, Scalar(255));// 单通道,CV_8UC1中C1可省略 cout << "单通道" << endl << " " << a1 << endl; //全205 Mat MC(2, 2, CV_8U);//Mat MC;MC.create(2, 2, CV_8U); //CV_8UC3也全是205 cout << "全205" << endl << " " << MC << endl; //单位矩阵 Mat E = Mat::eye(2, 2, CV_8U); cout << "单位矩阵" << endl << " " << E << endl; //全1 Mat O = Mat::ones(2, 2, CV_8U); cout << "全1矩阵" << endl << " " << O << endl; //全0 Mat Z = Mat::zeros(2, 2, CV_8U); cout << "0矩阵" << endl << " " << Z << endl; //自定义 uchar d[2][3] = { 1,2,3,4,5,6 }; Mat d2(Size(3, 2), CV_8U, d);// Mat d2 = (Mat_<int>(2,3)<<1,2,3,4,5,6); cout << "自定义" << endl << " " <<d2 << endl; std::system("pause"); return 0; }
【我的其他相关博文】
分类:
OpenCV
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?