【opencv入门教程】12. 矩阵初始化

文章选自:

一、 数据类型

复制代码
建立矩阵必须要指定矩阵存储的数据类型,图像处理中常用的几种数据类型如下:包括数据位深度8位、32位,数据类型U:uchar、F:float型以及通道数C1:单通道、C3:三通道、C4:四通道。
我们可以通过载入图像来创建Mat类型矩阵

二、测试程序

cpp 复制代码
void Samples::CreateMatrix()
{
  //step1. 创建矩阵
  cv::Mat a(cv::Size(3, 3), CV_8UC1); //创建单通道ucahr类型
  cv::Mat b(cv::Size(3, 3), CV_32F);  //创建Float类型
  cv::Mat c = cv::Mat(cv::Size(3, 3), CV_8UC3); //3通道每个矩阵元素包含3个uchar值
  cv::Mat d = cv::Mat(cv::Size(3, 3), CV_8UC4);//4通道每个矩阵元素包含3个uchar值
  cout << "step1. 创建矩阵" << endl;
  cout << "a  = " << endl << a << endl << endl;
  cout << "b  = " << endl << b << endl << endl;
  cout << "c  = " << endl << c << endl << endl;
  cout << "d  = " << endl << d << endl << endl;

  //step2. 初始化矩阵
  cv::Mat mz = cv::Mat::zeros(cv::Size(3, 3), CV_8UC1); // 全零矩阵
  cv::Mat mo = cv::Mat::ones(cv::Size(3, 3), CV_8UC1);  // 全1矩阵
  cv::Mat me = cv::Mat::eye(cv::Size(3, 3), CV_32FC1);  // 对角线为1的对角矩阵

  cout << "step2. 初始化矩阵" << endl;
  cout << "mz = " << endl << mz << endl << endl;
  cout << "mo = " << endl << mo << endl << endl;
  cout << "me = " << endl << me << endl << endl;
}

三、测试结果

相关推荐
lightinging5 分钟前
五款主流AI智能体多维对比
人工智能
love530love17 分钟前
ComfyUI MediaPipe 猴子补丁终极完善版:补全上下文管理与姿态检测兼容
人工智能·windows·python·comfyui·protobuf·mediapipe
Bruce_Liuxiaowei17 分钟前
AI攻防时间差:当漏洞发现速度碾压修复速度— 聚焦技术核心
网络·人工智能·网络安全·ai·系统安全
悟纤18 分钟前
AI生成MV
人工智能·seedance2.0·ai mv·一键mv
Clark1123 分钟前
手写LLM推理框架时,内存管理99%的人会踩的坑 | TFFInfer解析(五)——Tensor 张量系统与内存抽象(下)
人工智能
逸风尊者25 分钟前
Robotaxi 行业日报 | 2026-05-17
人工智能
Tutankaaa27 分钟前
知识竞赛的“锦囊”设计:场外求助、免答权、双倍分
人工智能
小马过河R29 分钟前
RAG检索优化策略:系统性四层框架解析
人工智能·python·算法·ai·llm·rag·问答
~kiss~35 分钟前
AI 大模型自主涌现专家 EMO 解读 : Pretraining Mixture of Experts for Emergent Modularity
人工智能
MSY~学习日记分享38 分钟前
从“地图工具”到“空间智能”:参加高德开放平台 AI 发布会后的几点技术观察
人工智能